漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-084588
漏洞标题:BiWEB最新门户版注入又一枚(绕过全局过滤)
相关厂商:BiWEB
漏洞作者: 路人甲
提交时间:2014-11-27 19:01
修复时间:2015-02-25 19:02
公开时间:2015-02-25 19:02
漏洞类型:SQL注射漏洞
危害等级:中
自评Rank:10
漏洞状态:未联系到厂商或者厂商积极忽略
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-11-27: 积极联系厂商并且等待厂商认领中,细节不对外公开
2015-02-25: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
BiWEB最新门户版注入又一枚(绕过全局过滤)
详细说明:
在wooyun上看到了有人把biweb的shell拿到了: WooYun: BIWEB门户版Getwebshell漏洞 ,也有人提了其他漏洞,我也来找找它的漏洞吧。去官网下BiWEB门户版最新的5.8.3来看看。
BiWEB对用户输入进行了全局过滤,但是这种过滤方法比较NC,这个漏洞就是来绕过全局过滤的。先来看看这个全局过滤方法吧/config/filtrate.inc.php
这个过滤方法中,如果是POST方法就只对通过POST提交的用户数据进行过滤,GET方法同理。突然就想到一个方法,REQUEST_METHOD还是POST,但是在url中带入用户数据(GET方法),然后程序中用$_GET数组来获取数据的话,那就可以获得通过url提交的数据,并且没有经过全局过滤,这样就绕过了全局过滤。
前几天提了个类似的问题,这个问题是在另一个文件中又一次出现了,出现的文件不同,代码也不同,利用代码也有点点区别。
/product/include/index.inc.php
去看看product/block/type.php
使用$_GET数组来获取type_id的值,而后面又没有过滤,因此造成了注入。
如果按正常的情况使用GET提交,单引号被全局过滤编码,如下:
把GET方法改为POST提交,成功引入单引号,如下:
成功注入,管理员用户名及密码如下图中所示:
成功注入的payload
漏洞证明:
见 详细说明
修复方案:
过滤
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
未能联系到厂商或者厂商积极拒绝