vulhub-php_cve-2012-1823

PHP的几种运行模式:
转载于这里

CGI模式:
CGI即通用网关接口(Common Gateway Interface),它是一段程序, 通俗的讲CGI就象是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页。CGI 的跨平台性能极佳,几乎可以在任何操作系统上实现。 CGI已经是比较老的模式了,这几年都很少用了。

CGI模式下的参数:
1.-c 指定php.ini文件的位置
2.-n 不要加载php.ini文件
3.-d 指定配置项
4.-b 启动fastcgi进程
5.-s 显示文件源码
6.-T 执行指定次该文件
7.-h和-? 显示帮助

实验:
-s
在这里插入图片描述
-d
payload:

?-d+allow_url_include%3don+-d+auto_prepend_file%3dphp%3a//input  #这是要加在url后的

分析一下这个代码:
1.allow_url_include = On (允许引用URL文件,新版增加功能)
2.auto_prepend_file = (在页面顶部加载文件)
3.php://input (接受一次post的数据流)
因此这段代码的意思就是:-d+1允许了引用url文件,-d+2+3则是在页面顶部加载php://input读入的数据流内容

<?php echo shell_exec('');?> #这是要post的数据

shell_exec()在shell环境下执行命令,改成system()也是可以的
这里有为什么要用post的详细解释

在这里插入图片描述

其实是在apache调用php解释器解释.php文件时,会将url参数传给php解释器,如果在url后加传命令行开关(例如-s、-d 、-c或 -dauto_prepend_file%3d/etc/passwd±n)等参数时,会导致源代码泄露和任意代码执行。这个漏洞影响php-5.3.12以前的版本,mod方式、fpm方式不受影响。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值