SQL注入攻击规则库

JJ541149229 2014-03-20 11:03:56
各位前辈好,我正在编写关于SQL注入的过滤器模块,附加于服务器中进行过滤。除了对一些关键字进行过滤,为了不限制更多的功能,我想对一些常用的攻击语句进行正则表达式的匹配过滤,可是现在不知道该过滤什么样的语句了,除了特别常用的恒真、恒假、or、and、;、--等,还想过滤可以查询到各种数据库类型、系统表等信息。我希望前辈们谁做过这个方向,能给我提些建议或者更好的思路,谢谢各位老师!
Ps.是在.NET平台下的Web应用
...全文
486 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Li7Z2z 2014-03-24
  • 打赏
  • 举报
回复
JJ541149229 2014-03-21
  • 打赏
  • 举报
回复
因为我做的是毕业设计,希望能在匹配与过滤SQL攻击语句的设计提出自己的看法,可是又对能够攻击网站的SQL语句理顺不清楚。想参考一些SQL注入工具的规则库,不是太顺利,郁闷啊!
霜寒月冷 2014-03-20
  • 打赏
  • 举报
回复
 public static SqlConnection GreatConn()//创建数据库链接
        {
            string ss1 = "and,exec,insert,select,delete,update,count,chr,mid,master,truncate,char,declare";
            String[] sArray = ss1.Split(',');

            for (int i = 0; i < sArray.Length - 1; i++)
            {
                foreach (string tempLoopVar_SQL_Get in System.Web.HttpContext.Current.Request.QueryString)
                {
                    string SQL_Get = tempLoopVar_SQL_Get;
                    if (System.Web.HttpContext.Current.Request.QueryString[SQL_Get].Contains(sArray[i]) == true)
                    {
                        System.Web.HttpContext.Current.Response.Write("请不要尝试进行SQL注入!");
                        System.Web.HttpContext.Current.Response.End();
                    }
                }

                foreach (string tempLoopVar_Sql_Post in System.Web.HttpContext.Current.Request.Form)
                {
                    string Sql_Post = tempLoopVar_Sql_Post;
                    if (System.Web.HttpContext.Current.Request.Form[Sql_Post].Contains(sArray[i]) == true)
                    {
                        System.Web.HttpContext.Current.Response.Write("请不要尝试进行SQL注入!");
                        System.Web.HttpContext.Current.Response.End();
                    }
                }


            }
jimil 2014-03-20
  • 打赏
  • 举报
回复
参数化后,SQL注入就完全无效了,建议大家数据连接层参数化。 楼主,给你的建议就是:这种东西网上已经太多了,主要的功能就是组合上,你可以参考一下别人。
winner2050 2014-03-20
  • 打赏
  • 举报
回复
SQL 字符过滤 能防御菜鸟攻击,放不了熟练级别的人。 而且制造了大量的bug。
uinatlex 2014-03-20
  • 打赏
  • 举报
回复
我一直觉得这种SQL 字符过滤 在ASP.NET 下根本就是多此一举
xuan.ye 2014-03-20
  • 打赏
  • 举报
回复
以前用过 ibatis.net 简单,防注入
zwj360066435 2014-03-20
  • 打赏
  • 举报
回复
为什么不用参数化呢?

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧