Discuz x3 越权操作
##Discuz x3 越权操作
这个漏洞是朋友通过黑盒测试发现, 然后我写了个补丁 。 此时尚未修复就不透露细节, 看的懂的人自己会用。
此处直接传入用户的值, 没有校验该贴是否属于当前用户导致 越权产生
foreach($topiclist as $pid) {
$post = C::t('forum_post')->fetch('tid:'.$_G['tid'], $pid, false);
$sticktopiclist[$pid] = $post['position'];
}
后面进行操作
.........
我自己写的修复方法 ,官方此漏洞暂未修复。
// 通过全局函数获取当前用户的帖子, 当post的值(帖子)属于当前用户才能进行操作。
foreach($topiclist as $pid) {
$post = C::t('forum_post')->fetch('tid:'.$_G['tid'], $pid, false);
if($post['tid']==$_G['tid']){
$sticktopiclist[$pid] = $post['position'];
}else{
die('null');
}
}