看到wooyun上有人提了几个iweb的漏洞( WooYun: iwebmall商城程序sql注入 ),我来捡捡漏儿吧,希望不要重复。
先把注入点拿出来:www.xxx.com/do.php?act=user_protect_rights ,POST的内容中有个参数protect_item,对protect_item使用shotr_check()进行了过滤,但是这里是数字型的,直接绕过过滤。
/action/user/protect_rights.action.php
可以看到protect_item经过short_check过滤,去看看short_check()。
可以看到,short_check把单引号转义,然后去掉,但是这里可以不用单引号注入。
Iweb没有错误回显,这里用time-based blind进行注入测试。
Payload:
上面的代码中有这么一段
在测试时这段代码是判断订单是否已取消或者是否已确认收货,只有没有取消并确认收货才可以继续下面的过程。所在,在本地测试时,把order_id为1的订单的order_status字段 update为3。
因为是time-based blind 注入,猜测管理员用户名的第三个字母时,若错误,延迟2s左右,如下图
若正确,延迟5s左右,如下图
按上面的方法依次做下去(burp intruder或者自己写个脚本跑),可测试管理员用户名为:admin,密码为: 21232f297a57a5a743894a0e4a801fc3