【漏洞复现-Discuz-代码执行】Discuz_CVE-2019-13956

目录

一、靶场环境

1.1、平台:

1.2、知识:

1.3、描述:

二、漏洞验证

2.1、分析:

2.4、解题:


一、靶场环境

1.1、平台:

Vulfocus 漏洞威胁分析平台

123.58.224.8:30299

【漏洞复现-Discuz-代码执行】Discuz_CVE-2019-13956_第1张图片

【漏洞复现-Discuz-代码执行】Discuz_CVE-2019-13956_第2张图片

1.2、知识:

1、审计

language可控,程序从cookie中获取language的值作为缓存文件名的一部分,且被include_once包含,构成命令执行漏洞

'./data/temlpate/'.'sc'.phpinfo().''_'

2、file_put_contents('文件名.php','写入文件里面的后门代码')

1.3、描述:

允许远程通过修改过的语言 cookie 执行任意 PHP 代码,如将 xxxx_xxxx_language=en 更改为 xxxx_xxxx_language=en'.phpinfo().' 所示;(如果使用了随机前缀 xxxx_xxxx_)



二、漏洞验证

2.1、分析:

一直下一步,同意,啥的

【漏洞复现-Discuz-代码执行】Discuz_CVE-2019-13956_第3张图片

【漏洞复现-Discuz-代码执行】Discuz_CVE-2019-13956_第4张图片

 【漏洞复现-Discuz-代码执行】Discuz_CVE-2019-13956_第5张图片

 点击访问,与此同时,使用bp抓包【漏洞复现-Discuz-代码执行】Discuz_CVE-2019-13956_第6张图片

 数据包中cookie中的language时漏洞点

【漏洞复现-Discuz-代码执行】Discuz_CVE-2019-13956_第7张图片

 随便往其中的一个地方插入语句

'.phpinfo().'

发现回显了flag

【漏洞复现-Discuz-代码执行】Discuz_CVE-2019-13956_第8张图片

 在代理上修改后放包【漏洞复现-Discuz-代码执行】Discuz_CVE-2019-13956_第9张图片


其他方法:

写入后门文件

'.file_put_contents('shell.php','').'

 (我测试的时候,是会有关键字过滤的)

服务器会自动解码一次,我们就需要进行2次URL编码,来进行绕过

2.4、解题:

【漏洞复现-Discuz-代码执行】Discuz_CVE-2019-13956_第10张图片

你可能感兴趣的:(0X05【漏洞复现】,web安全)