看到wooyun上有人提了几个iweshop(2014-11-18更新)的漏洞( WooYun: iWebShop开源电子商务系统SQL注入漏洞 ),去官网看了看,在2014-12-16 已更新到了 iwebshop2.9.14121000,下下来研究研究,希望不要重复。
注入一枚:POST /index.php?controller=seller&action=order_list POST参数中的search作为一个数组传入,search的KEY and VALUE 都过滤不完全,注入成功,文件在/controllers/seller.php的order_list()方法中
看看代码/controllers/seller.php
$search 是这样获得的$search = IFilter::act(IReq::get('search'));,去看看IFilter::act
/lib/core/util/filter_class.php
因为在获取$search时,$search = IFilter::act(IReq::get('search')); act()没有指定第二个类型参数,所以,把search 当作string过滤,这里是数字型的,不用闭合单引号,造成注入。
Search最终在/view/sysseller/seller/order_list.html中被带入sql执行
测试方法:申请开店后,登录,然后发送下面的post包即可。
Payload:POST提交
因为是time-based blind 注入,猜测管理员用户名的第一个字母时,若错误,延迟1s左右,如下图

若正确,延迟7s左右(和数据库中的记录有关)如下图
