在wooyun上看到了有人把biweb的shell拿到了: WooYun: BIWEB门户版Getwebshell漏洞 ,也有人提了其他漏洞,我也来找找它的漏洞吧。去官网下BiWEB门户版最新的5.8.3来看看。
这里提一个越权删除任意用户发布的供求信息、资讯信息、产品信息、企业信息、会展信息、招聘信息、问题信息、视频信息……
这些地方都存在这个漏洞
以/trade/adminu/index.php进行证明,看看/trade/adminu/index.php吧
当$_GET['action']=’del’时,则执行这条语句$objWebInit->doInfoAction($_GET['action'],$_POST['select']),我们再去看看doInfoAction(), 在/web_common5.8/php_common.php中
再去看看相同文件中的deleteInfo()
可以看到,在删除的整个过程中没有对用户的属性进行判断,直接构造了$strWhere = " WHERE `id` = $intInfoID"并执行,这就造成了越权删除。而且无论哪个用户发表的各类信息,其id全都是统一从1开始编号,如果要全部删除,只要遍历就可以了,如果要删除哪条,直接删除其id对应的内容即可。
测试时,注册一个用户,访问 www.xxxx.com/trade/adminu/index.php?action=del,然后修改POST提交的内容为select[]=3,即可供求信息中id为3的供求信息删除。