最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
改进的SQL防注入
时间:2022-06-30 10:41:50 编辑:袖梨 来源:一聚教程网
<%
'ASP防注入之解决方案'特殊页面处理'因为有些页通过流式传递(比如含有文件上传的表单)'如果单一使用穷举Form对象的操作就会出错'所以要把这些页面过滤出来,同时在页面中使用sql("检测的字串")才行'垃圾猪[email protected]'http://blog.111com.net/cfaq
'源码下载http://www.new57.com/softback/sql.rar
'将本页用include方法放在头部以让所有页都可以调用,比如include在conn.asp里'如果有流式上传的页面请把该页加到表page中,以防form冲突
Dim N_no,N_noarray,req_Qs,req_F,N_i,N_dbstr,Conn,N_rs,N_userIP,N_thispageN_userip = Request.ServerVariables("REMOTE_ADDR")N_thispage = LCase(Request.ServerVariables("URL"))
N_no = "'|;|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare" '可以自己修改怀疑是注入操作的字串N_noarray = split(LCase(N_no),"|")
Call DBopen()Call N_check_Qs()Call N_checkPage()Call DBCLose()
'检测当前页是否是特殊页是就调用 N_check_form()sub N_checkPage()
set N_rs = server.CreateObject("ADODB.RecordSet") N_rs.open "select * from page where spcpage like '%"&N_thispage&"%'",conn,1,1 if (N_rs.eof AND N_rs.Bof) then Call N_check_form() end if N_rs.Close() set N_rs = nothing
end sub
'检测给定字串sub N_sql(agsql) '这里是不记录数据库,如果要改请自己修改 N_check "CUS",req_Qs,"OTHER"end sub
'检测Request.Formsub N_check_form() If Request.Form<>"" Then For Each req_F In Request.Form N_check req_F,Request.Form(req_F),"POST" Next end ifend sub
'检测Request.QueryStringsub N_check_Qs() If Request.QueryString<>"" Then For Each req_Qs In Request.QueryString N_check req_Qs,Request.QueryString(req_Qs),"GET" Next end ifend sub
'检测sub N_check(ag,agsql,sqltype) For N_i=0 To Ubound(N_noarray) If Instr(LCase(agsql),N_noarray(N_i))<>0 Then call N_regsql(ag,agsql,sqltype) Response.Write "MO" end if Nextend sub
'ASP防注入之解决方案'特殊页面处理'因为有些页通过流式传递(比如含有文件上传的表单)'如果单一使用穷举Form对象的操作就会出错'所以要把这些页面过滤出来,同时在页面中使用sql("检测的字串")才行'垃圾猪[email protected]'http://blog.111com.net/cfaq
'源码下载http://www.new57.com/softback/sql.rar
'将本页用include方法放在头部以让所有页都可以调用,比如include在conn.asp里'如果有流式上传的页面请把该页加到表page中,以防form冲突
Dim N_no,N_noarray,req_Qs,req_F,N_i,N_dbstr,Conn,N_rs,N_userIP,N_thispageN_userip = Request.ServerVariables("REMOTE_ADDR")N_thispage = LCase(Request.ServerVariables("URL"))
N_no = "'|;|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare" '可以自己修改怀疑是注入操作的字串N_noarray = split(LCase(N_no),"|")
Call DBopen()Call N_check_Qs()Call N_checkPage()Call DBCLose()
'检测当前页是否是特殊页是就调用 N_check_form()sub N_checkPage()
set N_rs = server.CreateObject("ADODB.RecordSet") N_rs.open "select * from page where spcpage like '%"&N_thispage&"%'",conn,1,1 if (N_rs.eof AND N_rs.Bof) then Call N_check_form() end if N_rs.Close() set N_rs = nothing
end sub
'检测给定字串sub N_sql(agsql) '这里是不记录数据库,如果要改请自己修改 N_check "CUS",req_Qs,"OTHER"end sub
'检测Request.Formsub N_check_form() If Request.Form<>"" Then For Each req_F In Request.Form N_check req_F,Request.Form(req_F),"POST" Next end ifend sub
'检测Request.QueryStringsub N_check_Qs() If Request.QueryString<>"" Then For Each req_Qs In Request.QueryString N_check req_Qs,Request.QueryString(req_Qs),"GET" Next end ifend sub
'检测sub N_check(ag,agsql,sqltype) For N_i=0 To Ubound(N_noarray) If Instr(LCase(agsql),N_noarray(N_i))<>0 Then call N_regsql(ag,agsql,sqltype) Response.Write "MO" end if Nextend sub
相关文章
- 以下哪种非遗技艺是用针在纸上绣画 蚂蚁新村11月21日答案 11-22
- 江南百景图听风塔怎么样 11-22
- 原神恰斯卡圣遗物怎么搭配 11-22
- 2024年霸王茶姬11月22日口令是什么 2024.11.22霸王茶姬口令介绍 11-22
- 光遇11.21季节蜡烛在哪里 光遇11月21日季节蜡烛位置攻略 11-22
- 光遇11.21大蜡烛在哪里 光遇11月21日大蜡烛位置攻略 11-22