在wooyun上看到了有人提了BiWEB的一个XSS漏洞: WooYun: BIWEB商城版XSS盲打cookie ,也有人提了SQL注入,我来找找其他的漏洞吧。去官网下BiWEB商城版最新的5.8.4来看看。
注入点是http://xxxx.com/product/list.php?type_id=1,其中type_id存在多处注入漏洞。
第一处注入存在于/product/include/list.inc.php中的$objWebInit->getNavRouteInfo($_GET['type_id'])语句中;
第二处注入存在于/product/block/child_brand.php中的$arrTopInfo = $objproduct->getBrandWithProductType($_GET['type_id'])语句中;
下面来以第一处注入漏洞来说明,第二处的注入方法请参考我的这个漏洞:http://wooyun.org/bugs/wooyun-2014-085024
先来看看BiWEB是怎么处理防注入的。首先BiWEB对用户输入进行了全局过滤filtrate.inc.php
filtrateData()方法的实现见下面
在/product/include/list.inc.php中有一处数字型的注入
继续去看看getNavRouteInfo(),在/product/class/product.class.php中
虽然有全局过滤,这里的type_id是数字型的,而全局过滤只是使用了htmlspecialchars对几个特殊符号进行了编码,这里不使用这几个特殊符号就可以绕过了。payload如下
成功注入,管理员用户名及密码如下图中所示: