首页 | 心情日记 | 建站心得 | 编程技术 | 大盘分析 | 股市信息 | 学习园地 | 电脑技巧 | 物流外贸 | 另类其它 | 站长推荐 | 给我留言 | 相册

用户登陆
用户:
密码:
 
不保存保存一天
保存一月保存一年

站点日历
73 2024 - 3 48
     12
3456789
10111213141516
17181920212223
24252627282930
31


站点统计

最新评论

日志搜索

 标题   内容


万能Asp防注入代码 正则表达式使用范例
未知 ASP防注入之解决方案--加强版   [ 日期:2007-12-14 10:24:05 ]   [ 来自:本站原创 ]

海外邮件中继,海外退信中继,美国高速VPS,不限流量VPN,邮局维护和管理,邮件网关,EMOS邮件中继,POSTFIX邮件中继,Winwebmail邮件中继,Winmail邮件中继,DBMail邮件中继,JDMail邮件中继,Exchange邮件中继,MDaemon邮件中继 淘宝店:http://shantan.taobao.com 云邮科技官网:www.yunrelay.com

【字体设置:
<% 
''将本页用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_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),"|") 

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.Form 
sub 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 if 
end sub 

''检测Request.QueryString 
sub 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 if 
end 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 
Next 
end sub 

''记录并停止输出 
''ag 名称 
''agsql 内容 
''sqltype 类型 
sub N_regsql(ag,agsql,sqltype) 
if(sqltype<>"OTHER") then 
Conn.Execute("insert into SqlIn(Sqlin_IP,SqlIn_Web,SqlIn_FS,SqlIn_CS,SqlIn_SJ) values(''"&N_userip&"'',''"&N_thispage&"'',''"&sqltype&"'',''"&ag&"'',''"&agsql&"'')") 
end if 
Response.Write "<Script Language=javascript>alert(''请不要在参数中包含非法字符尝试注入!'');</Script>" 
Response.Write "<span style=''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 
end sub 


Sub DBopen() 
N_dbstr="DBQ="+server.mappath("Sql.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" 
Set Conn=Server.CreateObject("ADODB.CONNECTION") 
Conn.open N_dbstr 
end SUB 


Sub DBCLose() 
Conn.close 
Set Conn = Nothing 
End sub 
%>

暂时没有评论
   发表评论 - 不要忘了输入验证码哦!
作者: 用户:  密码:  我要注册 验证码: 
为防止广告注册机程序,验证码不会自动显示,请点击此处显示或者(刷新)验证码!
评论:

禁止表情
禁止UBB
禁止图片
识别链接
识别关键字
确定发布?
最多可以输入200个字,目前你已经输入了0个字;你今日还可以发表10条评论!
 
   

CopyRight © 2008-2010 广东金融学院030904班 All Rights Reserved
Powered by www.030904.com