sql防注入代码(asp)
2006-08-01 15:54
686 查看
<%
'将本页用include方法放在头部以让所有页都可以调用,比如include在conn.asp里 '如果有流式上传的页面请把该页加到表page中,以防form冲突
DimN_no,N_noarray,req_Qs,req_F,N_i,N_dbstr,Conn,N_rs,N_userIP,N_thispage
N_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),"|")
CallDBopen()
CallN_check_Qs()
CallN_checkPage()
CallDBCLose()
'检测当前页是否是特殊页是就调用N_check_form()
subN_checkPage()
setN_rs=server.CreateObject("ADODB.RecordSet")
N_rs.open"select*frompagewherespcpagelike'%"&N_thispage&"%'",conn,1,1
if(N_rs.eofANDN_rs.Bof)then
CallN_check_form()
endif
N_rs.Close()
setN_rs=nothing
endsub
'检测给定字串
subN_sql(agsql)
'这里是不记录数据库,如果要改请自己修改
N_check"CUS",req_Qs,"OTHER"
endsub
'检测Request.Form
subN_check_form()
IfRequest.Form<>""Then
ForEachreq_FInRequest.Form
N_checkreq_F,Request.Form(req_F),"POST"
Next
endif
endsub
'检测Request.QueryString
subN_check_Qs()
IfRequest.QueryString<>""Then
ForEachreq_QsInRequest.QueryString
N_checkreq_Qs,Request.QueryString(req_Qs),"GET"
Next
endif
endsub
'检测
subN_check(ag,agsql,sqltype)
ForN_i=0ToUbound(N_noarray)
IfInstr(LCase(agsql),N_noarray(N_i))<>0Then
callN_regsql(ag,agsql,sqltype)
Response.Write"MO"
endif
Next
endsub
'记录并停止输出
'ag名称
'agsql内容
'sqltype类型
subN_regsql(ag,agsql,sqltype)
if(sqltype<>"OTHER")then
Conn.Execute("insertintoSqlIn(Sqlin_IP,SqlIn_Web,SqlIn_FS,SqlIn_CS,SqlIn_SJ)values('"&N_userip&"','"&N_thispage&"','"&sqltype&"','"&ag&"','"&agsql&"')")
endif
Response.Write"<ScriptLanguage=JavaScript>alert('请不要在参数中包含非法字符尝试注入!');</Script>"
Response.Write"<spanstyle='font-size:12px'>非法操作!系统做了如下记录↓<br>"
Response.Write"操作IP:"&N_userip&"<br>"
Response.Write"操作时间:"&Now&"<br>"
Response.Write"操作页面:"&N_thispage&"<br>"
Response.Write"提交方式:"&sqltype&"<br>"
Response.Write"提交参数:"&ag&"<br>"
Response.Write"提交数据:"&agsql&"</span>"
Response.end
endsub
SubDBopen()
N_dbstr="DBQ="+server.mappath("Sql.mdb")+";DefaultDir=;DRIVER={MicrosoftAccessDriver(*.mdb)};"
SetConn=Server.CreateObject("ADODB.CONNECTION")
Conn.openN_dbstr
endSUB
SubDBCLose()
Conn.close
SetConn=Nothing
Endsub
%>
相关文章推荐
- ASP代码审计学习笔记-1.SQL注入
- asp防止sql 语句注入的代码
- 通用ASP Sql防注入代码
- Asp.Net程序开发中的代码与安全之SQL注入
- C#,Asp.net 防止Sql 注入代码
- ASPNETCOREAPI 跨域处理 SQL 语句拼接 多条件分页查询 ASPNET CORE 核心 通过依赖注入(注入服务)
- asp.net执行SQL语句代码
- asp.net的sql防注入和去除html标记的方法
- asp sql 防注入
- asp.net(vb)与sql的连接(代码写在web.config中的)
- SQL 注入天书 - ASP 注入漏洞全接触
- ASP过滤SQL非法字符并格式化html代码
- 【asp】 SQLServer OLEDB 连接数据库 代码
- php 过滤特殊字符及sql防注入代码
- 解决并清除SQL被注入恶意病毒代码的语句
- sql防注入代码
- ASP.NET防注入代码【转】
- Dvbbs7.1 sp1 SQL版savepost.asp注入漏洞分析、利用及防范
- 如何防止ASP.NET应用程序中的SQL注入安全漏洞
- SQL,请别注入ASP