<?php
show_source(__FILE__);
include('flag.php');
$a=$_GET['cmd'];
if(preg_match('/^php$/im', $a)){
if(preg_match('/^php$/i', $a)){
echo 'hacker';
}
else{
echo $flag;
}
}
else{
echo 'nonononono';
}
分析:/^php$/im的意思是以php开头( ^ ),以php结尾( $ ),大小写( i ),多行匹配( m ),重点是多行匹配影响两端的潜在匹配,所以用%0a(换行符)来绕过。
输入:
http://3309f256-7335-4033-b253-f2b08eeec041.challenge.ctf.show/?cmd=%0aphp