前几天一个朋友让我帮他检测一下他网站程序的安全,为了不让我的面子掉一地只有硬着头皮帮他检测啦!
拿到他的源程序之后就开始我的检测之路啦!
上面的id直接传递给了owen,而owen又跳转到sql查询语句里,那这样就形成了注入
这样我就可以对它进行注入了。。
http://127.0.0.1/onews.asp?id=19 and 1=1
就在注入的时候它反回了防注入的提示,看来我是小看这小子啦!!提示如下:
非法操作!你的入侵记录我已经交给警方了你入侵吧↓
操作IP:127.0.0.1
操作时间:2013-1-22 12:11:05
操作页面:/onews.asp
提交方式:GET
提交参数:id
提交数据:19 and 1=1
如果是一般新手看到这里应该就放弃注入啦,但源程序已在我手里分析它的代码还是可以的,嘿嘿。。
在onews.asp源代码的头部我看到
这个conn.asp大家都应该知道是什么吧,我也不多说.
conn.asp源代码如下:
在conn.asp文件的头部看到一看文件名就知道是防注入的东东。。
asp.asp源代码如下:
防=防|防-防_" 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 "" Response.Write "非法操作!你的入侵记录我已经交给警方了你入侵吧↓
" Response.Write "操作IP:"&Request.ServerVariables("REMOTE_ADDR")&"
" Response.Write "操作时间:"&Now&"
" Response.Write "操作页面:"&Request.ServerVariables("URL")&"
" Response.Write "提交方式:POST
" Response.Write "提交参数:"&Fy_Post&"
" 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 "" Response.Write "非法操作!你的入侵记录我已经交给警方了你入侵吧↓
" Response.Write "操作IP:"&Request.ServerVariables("REMOTE_ADDR")&"
" Response.Write "操作时间:"&Now&"
" Response.Write "操作页面:"&Request.ServerVariables("URL")&"
" Response.Write "提交方式:GET
" Response.Write "提交参数:"&Fy_Get&"
" Response.Write "提交数据:"&Request.QueryString(Fy_Get) Response.End End If Next Next End If %>
在这段代码中我们可以看到两个重要的信息
Instr(LCase(Request.Form(Fy_Post))
从这句中我们可以知道它是对post提交进行了过滤
Instr(LCase(Request.QueryString(Fy_Get))
而这一句是对 get提交进行了过滤。。
分析到这里大家都应该想到了一个问题,它只是对POST和GET提交进行了过滤,那cookies提交呢。。。
这说明过滤不全。COOKIES注入大家都应该知道怎么利用吧!后面就不多写了
网站只分析了一下半,后面等再分析出什么问题再写出来吧!!
本人小菜如果有什么不足之处还请大牛们指出。。
转自:http://zone.wooyun.org/content/2450
相关内容:
突破 Sql 防注入过滤程序继续注入的一点方法、经验、技巧总结
留言评论(旧系统):
文章来源于lcx.cc:对防注入代码的分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论