Sine安全-网络安全背后的巨人,提供服务器安全_服务器维护_网站安全解决方案

discuz 3.4 漏洞 SQL注入与请求伪造攻击利用与修复



          2018年12月9日,国内某安全组织,对discuz X3.4版本的漏洞进行了公开,这次漏洞影

响范围较大,具体漏洞是discuz 的用户前段SQL注入与请求伪造漏洞,也俗称
SSRF漏洞,漏

洞产生的原因首先:php环境的版本大约PHP5.2,dizcuz3.4版本,服
务器环境是windows 200

8 2003 2012系统,linux centos不受此漏洞的影响。
 
 
漏洞的详情与利用
 
该漏洞产生的原因是由于source目录下的module文件里的misc模块代码,具体的是misc_imgcro

pper.php文件第54行到56行之间的函数变量赋值问题导致可以插入恶
意非法参数,导致可以进

行变量,我们跟进这个函数传递到了那里。

 
 
跟踪这个函数查到调用到了class目录下的class_images.php,代码如下图:
 

 
从上述代码中可以看出传递过来的url函数,被正常解析到curl请求当中去,通过这里的代码功

能我们可以知道,我们可以调用cur的请求,去请求一些其他网站,
curL:www.***.com.那么我

们可以伪造自己构造的XSS获取代码,把代码放到自己的网站当中,让访问
者自动访问我们精

心制作的地址即可。但是利用这个请求伪造攻击的漏洞需要一定
的条件就是需要网址的跳转才

能更好的利用。
 
在discuz漏洞的利用过程中我们发现有些php版本也存在问题,必须是大约PHP5.2版本的,有

些curl网址的请求才能有效果。我们提交的方式是get方式的数据提交
,使用referer进行判断跳

转。discuz官方对于来路的判断跳转进行了严格的过滤
,导致你能使用任何地址进行跳转,我

们来看下官方是如何写的代码。如下图:

 
从代码里可以看到限制了只要是本地的网址https://127.0.0.1/discuz才能跳转,我们测试了很多

方式发现可以绕过discuz的限制,https://127.0.0.1%23%40

www.
安全测试.com&quickforward=2即可进行绕过,我们本地来测试下该漏洞:

 
discuz漏洞修复
 
关于discuz 3.4漏洞修复,建议使用者尽快升级discuz到最新版本,针对于curl的请求,php版本

降级于5.2版本一下,或者是限制curl的功能使用。对discuz上的漏
洞进行修复,或者是对网站

安全防护参数进行重新设置,使他符合当时的网站环境
。如果不懂如何修复discuz漏洞,也可以

找专业的网站安全公司来处理,国内也就
Sinesafe和绿盟、启明星辰等安全公司比较专业.
分享:

相关推荐