您现在的位置是:主页 > news > 做网站开发需要什么证书/下载百度地图2022最新版官方

做网站开发需要什么证书/下载百度地图2022最新版官方

admin2025/5/3 3:14:54news

简介做网站开发需要什么证书,下载百度地图2022最新版官方,公司网站页面加密,做外贸用什么视频网站好2019年7月11日, Discuz!ML被发现存在一处远程代码执行漏洞,攻击者通过修改请求流量的cookie字段中的language参数处插入构造的payload,进行远程代码执行利用,该漏洞利用方式简单,危害性较大。本次漏洞是由于…

做网站开发需要什么证书,下载百度地图2022最新版官方,公司网站页面加密,做外贸用什么视频网站好2019年7月11日, Discuz!ML被发现存在一处远程代码执行漏洞,攻击者通过修改请求流量的cookie字段中的language参数处插入构造的payload,进行远程代码执行利用,该漏洞利用方式简单,危害性较大。本次漏洞是由于…

2019年7月11日, Discuz!ML被发现存在一处远程代码执行漏洞,攻击者通过修改请求流量的cookie字段中的language参数处插入构造的payload,进行远程代码执行利用,该漏洞利用方式简单,危害性较大。本次漏洞是由于Discuz! ML对于cookie字段的不恰当处理造成的cookie字段中的language参数未经过滤,直接被拼接写入缓存文件之中,而缓存文件随后又被加载,从而造成代码执行。

0x00 漏洞复现环境

平台环境(windows) : phpStudy(2018)  php 5.5.38 + apache

0x01 漏洞复现

访问http://127.0.0.1/discuz/upload/forum.php 使用burpsuite 对请求包修改,在Cookie字段中DeBP_2132_language参数写入恶意代码 ‘.phpinfo().’ 。

整体请求如下:GET /discuz/upload/forum.php HTTP/1.1

Host: 127.0.0.1

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Connection: keep-alive

Cookie: DeBP_2132_saltkey=PpJ0DNbK; DeBP_2132_language=sc'.phpinfo().'; DeBP_2132_lastvisit=1563773757; DeBP_2132_sid=MjB6U2; DeBP_2132_lastact=1563777365%09home.php%09misc; DeBP_2132_onlineusernum=1; DeBP_2132_sendmail=1

Upgrade-Insecure-Requests: 1

Cache-Control: max-age=0

d0505c26fef6a09eb851a81c8db7b6bb.png

在服务器返回的请求中发现我们写入的恶意代码成功得到了执行。

d7eae1f30b453e34d5af4323dccbb6dd.png

0x02 漏洞分析

打开forum.php文件查看24 行包含了 ‘./source/class/class_core.php’文件。

那么来查看 class_core.php文件,在文件第33行的时候调用了creatapp() 方法。

在查看creatapp方法中如果私有属性$_app不是一个对象的话将调用discuz_application的instance()方法。

c027756bf0f1ea34b07b6e23a1fe0f70.png

在instance()方法中对自身类进行了实例化。

d526a7814de862b178bd486ebf670238.png

而在discuz_application类的构造方法中_init_input()方法会将cookie中language的值赋给$lan变量。

741723b60028adb27d93d3ed6d193f17.png

继续查看后发现最终会将值传递给DISCUZ_LANG。

b766f0794da68010ad43df064f67c741.png

扭头回到forum.php文件中继续看,在第78行的时候包含了forum_index.php文件。

fae9dd7f312b0b79ae2fcd614a1d9ab2.png

查看forum_index.php文件 在432行的时候它会包含通过template方法生成的恶意文件。

分析template方法在function_core.php文件中第644行中,$cachefile变量 即缓存文件名是通过拼接几个变量的值得来的。

ad7498b548a633ea35fce9f27677d878.png

接着在653行调用了checktplrefresh方法。

6d6c34dd3ca7c2c450e1020baa1ab4a2.png

在checktplrefresh 方法中调用template类中的parse_template方法来生成缓存文件。

3e3ed6db10a4876488b4fe3d3e68a0a5.png

在parse_template方法中读取模板文件到template变量。

172537429c47cf79f3b57d44e4496c1d.png

在parse_template方法中第74行的时候将可控变量cachefile拼接后赋给了headeradd变量。

b6dc383b76218ffcf4fbd8589db79347.png

84行的时候又将headeradd拼接到了template中。

所以就形成了以下代码。

8df75cbf6ccafdc19640f47a25cdeb97.png

最终写入本地。

并且由forum_index.php文件的第432行代码 对template方法生成的缓存文件包含,使得在cookie中恶意构造的代码得到执行。

0x03 修复建议

针对缓存的缓存文件名进行固定。