给出源代码:
<?php
highlight_file(__FILE__);
$num = $_GET['num'];
if(is_string($num) && strlen($num) < 5 && strpos($num,'111') === false && strpos($num,'0') === false && eval("return 111===${num};")){
readfile('/flag');
}
?>
GET传num,他是字符串,长度小于5,字符串中不能有111和0
最后一个条件:
eval("return 111===${num};"):这是一个动态求值的条件,它会把 $num 替换到 ${num} 中,并判断 $num 是否等于 111。
先给payload:
?num=1|1
因为return (111===1) or 1 所以 ?num=1|1