| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2122 人关注过本帖, 1 人收藏
标题:Asp防注入代码[转自网络]
取消只看楼主 加入收藏
SUNZN
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:3
帖 子:132
专家分:7
注 册:2007-3-19
收藏(1)
 问题点数:0 回复次数:1 
Asp防注入代码[转自网络]


这是转的网络上的防注入代码!稍微的修改了一下!代码也很容易懂.只要来个包含或放入conn.asp中就可以了!

<%
’’’’--------------定义部份------------------
Dim Fy_Post,Fy_Get,Fy_In,Fy_Inf,Fy_Xh,Fy_db,Fy_dbstr
’’’’自定义需要过滤的字串,用 "|" 分隔
Fy_In = "’’’’|;|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|<|>|=|||-|_"
Fy_Inf = split(Fy_In,"|")
If Request.Form<>"" Then
For Each Fy_Post In Request.Form
For Fy_Xh=0 To Ubound(Fy_Inf)
If Instr(LCase(Request.Form(Fy_Post)),Fy_Inf(Fy_Xh))<>0 Then
Response.Write "<Script Language=JavaScript>alert("请不要在参数中包含非法字符尝试注入攻击本站!");</Script>"
Response.Write "非法操作!本站已经给您做了如下记录↓<br>"
Response.Write "操作IP:"&Request.ServerVariables("REMOTE_ADDR")&"<br>"
Response.Write "操作时间:"&Now&"<br>"
Response.Write "操作页面:"&Request.ServerVariables("URL")&"<br>"
Response.Write "提交方式:POST<br>"
Response.Write "提交参数:"&Fy_Post&"<br>"
Response.Write "提交数据:"&Request.Form(Fy_Post)
Response.End
End If
Next
Next
End If
If Request.QueryString<>"" Then
For Each Fy_Get In Request.QueryString
For Fy_Xh=0 To Ubound(Fy_Inf)
If Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0 Then
Response.Write "<Script Language=JavaScript>alert("请不要在参数中包含非法字符尝试注入攻击本站!");</Script>"
Response.Write "非法操作!本站已经给大侠您做了如下记录↓<br>"
Response.Write "操作IP:"&Request.ServerVariables("REMOTE_ADDR")&"<br>"
Response.Write "操作时间:"&Now&"<br>"
Response.Write "操作页面:"&Request.ServerVariables("URL")&"<br>"
Response.Write "提交方式:GET<br>"
Response.Write "提交参数:"&Fy_Get&"<br>"
Response.Write "提交数据:"&Request.QueryString(Fy_Get)

Response.End
End If
Next
Next
End If
%>

我想很多朋友在试图不论是用[or=or]或者是[and 1=1;and 1=2]注入站点的时候都会经常遇到上面那样既熟悉又郁闷的代码吧!
Response.Write "非法操作!本站已经给大侠您做了如下记录↓<br>"
Response.Write "操作IP:"&Request.ServerVariables("REMOTE_ADDR")&"<br>"
Response.Write "操作时间:"&Now&"<br>"
Response.Write "操作页面:"&Request.ServerVariables("URL")&"<br>"
Response.Write "提交方式:GET<br>"
Response.Write "提交参数:"&Fy_Get&"<br>"
Response.Write "提交数据:"&Request.QueryString(Fy_Get)

至少我是很熟悉了!但是大家看到最前面的自定义需要过滤的字串了吗?往下看,那是最重要的东西,比如说其中的select.这个语句经常在SQL语句中要用到,也是啊D或者是明小子工作最重要的一个词.也就是说只要有这些字符的都会被视为非法操作.防注入程序就是这样来判别交互操作的合法性的.那我们只要在被网站记录后,根据返回页面的显示内容找到相应的防注入代码,只要分析自定义需要过滤的字串就可以了!分析它还有什么特殊的攻击字符没有过滤,我们可以试着用它没有过滤掉的字符来注入!因为现在的网络管理员一般都是从网络上找代码,然后稍做修改就使用了!如果要是遇到只会编辑word的管理员,那我就不说了.多少还能挽回点被记录的损失!

搜索更多相关主题的帖子: 网络 Asp 代码 Inf 
2007-10-19 18:27
SUNZN
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:3
帖 子:132
专家分:7
注 册:2007-3-19
收藏
得分:0 
回复:(lthiy)没看懂[em04]

呵呵!这是通用的注入代码.我想你学了html和script的话,应该能看的懂的!
这对于写网站的程序员来说是安全方面的必备的知识,同时也是网站安全的保障!


未知驱动探索!
2007-10-22 12:39
快速回复:Asp防注入代码[转自网络]
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014076 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved