### 简要描述: 在Discuz! <=2.5版本的某处设计存在失误,csrf防御可被绕过 可以获取到formhash 所以应该算全局的绕过吧 ### 详细说明: 其实还是drops文章《上传文件的陷阱》带来的问题。 dz2.5以下版本修改头像处未检查图片文件的合法性,可以上传.jpg后缀的swf文件。 使用这个swf文件发起恶意请求读取页面源码就能获取到formhash 有formhash之后。。想干嘛就干嘛了 具体文件/uc_server/control/user.php 281行onuploadavatar函数 ``` $imgtype = array(1 => '.gif', 2 => '.jpg', 3 => '.png'); ``` 只检查了后缀而不像3.0以上用库检查了图片格式 ### 漏洞证明: 步骤 1、新建一个获取页面源码 提取formhash 然后用formhash发送添加副站长请求的swf,保存为.jpg后缀 [<img src="https://images.seebug.org/upload/201405/24140118027cb57a60e471ee1da2fe45450fc3c7.jpg" alt="0.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/24140118027cb57a60e471ee1da2fe45450fc3c7.jpg) 2、注册一个账号,去/home.php?mod=spacecp&ac=avatar上传上一步生成的.jpg后缀的swf文件并抓包 上传后的地址应该是 http://192.168.1.104/uc_server/data/tmp/upload{uid}.jpg这样的 [<img src="https://images.seebug.org/upload/201405/24140259a5b580714c3e240edf7debaceb69a833.jpg" alt="1.jpg" width="600"...
### 简要描述: 在Discuz! <=2.5版本的某处设计存在失误,csrf防御可被绕过 可以获取到formhash 所以应该算全局的绕过吧 ### 详细说明: 其实还是drops文章《上传文件的陷阱》带来的问题。 dz2.5以下版本修改头像处未检查图片文件的合法性,可以上传.jpg后缀的swf文件。 使用这个swf文件发起恶意请求读取页面源码就能获取到formhash 有formhash之后。。想干嘛就干嘛了 具体文件/uc_server/control/user.php 281行onuploadavatar函数 ``` $imgtype = array(1 => '.gif', 2 => '.jpg', 3 => '.png'); ``` 只检查了后缀而不像3.0以上用库检查了图片格式 ### 漏洞证明: 步骤 1、新建一个获取页面源码 提取formhash 然后用formhash发送添加副站长请求的swf,保存为.jpg后缀 [<img src="https://images.seebug.org/upload/201405/24140118027cb57a60e471ee1da2fe45450fc3c7.jpg" alt="0.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/24140118027cb57a60e471ee1da2fe45450fc3c7.jpg) 2、注册一个账号,去/home.php?mod=spacecp&ac=avatar上传上一步生成的.jpg后缀的swf文件并抓包 上传后的地址应该是 http://192.168.1.104/uc_server/data/tmp/upload{uid}.jpg这样的 [<img src="https://images.seebug.org/upload/201405/24140259a5b580714c3e240edf7debaceb69a833.jpg" alt="1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/24140259a5b580714c3e240edf7debaceb69a833.jpg) 3、新建一个html页面,把上一步拿到的头像地址当作flash加载到页面。 4、引诱管理员访问这个html页面,就会在后台把你的账号添加为副站长 [<img src="https://images.seebug.org/upload/201405/2414052151e6777efdffe88932382c9ddd901811.jpg" alt="2.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/2414052151e6777efdffe88932382c9ddd901811.jpg) [<img src="https://images.seebug.org/upload/201405/24140535fa2011caab0791e6e6f3535010b66f43.jpg" alt="3.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/24140535fa2011caab0791e6e6f3535010b66f43.jpg)