下面是OMG的小编辑器,用于收集和整理文章,希望对你有所帮助。


SQL注入是通过将SQL命令到Web表单提交或输入域名或页面请求的查询字符串的实现,最终实现对恶意的SQL命令,欺骗服务器执行。事实上,它是提交一个精心构造的数据库语句使其反馈一些有用的数据。说白作弊是数据库,如果Web服务器,它是不可能进行SQL注入。


在因特网上有两种注射方法。一种是猜测,让数据库从用户名、密码和其他信息中泄露出来,另一种通过认证直接获得权限的方法。相反,为了修复这些漏洞,必须禁止特殊数据提交或修改特定提交的数据。


下面是不同脚本语言下的反注入过滤代码,实际上这个想法是一致的。


1,PHP注入过滤代码


PHP代码将内容复制到剪贴板。


U3000 U3000


/ *************************


描述:是否在变,通过有非法字符,如_post美元,_get美元


功能:抗注射


用法:将下列代码保存为AK、PHP,并用包含的名称调用数据提交页面;


************************** /


功能dowith_sql($str)


实现将在两侧带有代码。


{


refuse_str美元=执行|和|或|选择|更新|从哪里|秩序的| | | * |删除| |插入|为|值|创建|表|


数据库|集|焦| ASC |铸|宣布|


对字符的定义进行预防


$ ARR =爆炸(|


/ / refuse_str美元价值的独立


(0美元;


{


取代美元={(。$ ARR { $我}。};


$str = str_replace($ ARR { $我},取代美元,$str);


$ ARR { $我} / /变量str的字符串的查找,并替换字符串替换} { $


}


返回$ STR;


}


foreach(_get美元美元美元价值的关键= >)


_get美元 / /得到遍历获取价值的美元关键方法的参数,并分配到美元的价值


{


_get美元{ $关键} = dowith_sql(价值);


在美元的价值 / /签名处理_get美元美元关键} {


}


foreach(_post美元美元美元价值的关键= >)


{


_post美元{ $关键} = dowith_sql(价值);


}


>


上面给出的注入方法是反GET和POST数据,但是,Web服务器读取数据序列,获取的第一个数据,而不是POST数据,没有返回到cookie数据,上述代码不是反Cookie注入。反Cookie注入相对简单。Cookie ID值通常只有阿拉伯数字,但饼干注射必须建立在ID。只要我们得到参数uid,我们可以过滤。代码如下:


PHP代码将内容复制到剪贴板。


U3000 U3000


如果($ _cookie {id}!= NULL){


判断符/ cookie不是空的。


foreach($ _cookie {id}达关键= > $id){


读取cookie的值


如果(is_numeric($id)<0){


;


}


}


}


>


把上面的代码为hk.php。


因此,在平时使用时,在Web页面上添加,并包括;


2、asp注入过滤代码


<


注:C


如何使用:需要保护的页眉是可用的


友情提示:复制代码(conn.asp数据库连接文件),只要所有文件包含连接保护


--------------------------------


昏暗的xf_post,xf_get,xf_in,xf_inf,xf_xh,xf_db,xf_dbstr


自定义需要过滤的字符串,|分离


xf_in =|和| exec |插入|选择|删除|更新|计数| * | % | CHR |中|大师|截断|焦|宣布|


xf_inf =分裂(xf_in,| )


如果请求,则形成然后


在每一xf_post形式要求。


对于xf_xh = 0 UBound(xf_inf)


如果仪器(1例(要求表单(xf_post)),xf_inf(xf_xh))< > 0


响应。写


答:写非法操作!系统做了以下记录去;




响应。写操作的IP:request.servervariables(remote_addr )




响应。写入操作时间




响应。写操作页面:request.servervariables(URL)




答复:写提交:邮寄




响应。写提交参数:xf_post




响应。写提交数据:请求形式(xf_post)。


反应结束


最后如果


下一个


下一个


最后如果


如果请求。QueryString <> 然后


每个xf_get在request.querystring


对于xf_xh = 0 UBound(xf_inf)


如果仪器(1例(request.querystring(xf_get)),xf_inf(xf_xh))< > 0


响应。写


答:写非法操作!系统已经给你以下记录去;




响应。写操作的IP:request.servervariables(remote_addr )




响应。写入操作时间




响应。写操作页面:request.servervariables(URL)




答复:写提交:获取




Response.Write submission parameters: xf_Get




响应。写提交数据:request.querystring(xf_get)


反应结束


最后如果


下一个


下一个


最后如果


%>


同样,将防止cookie,并将代码添加到数据提交页中。


如果(请求。饼干{uid}!= null)


{


UID =请求。饼干{uid价值};


ISNUMERIC cooidesid =新ISNUMERIC();


这是一个类


如果(cooidesid.reisnumeric(RUID))


如果号码是,请运行以下内容


{


String str =SELECT * FROM 9用户管理表id是+ UID;


…


}


}


3、jsp注入过滤代码


U3000 U3000