【writeup】is_numeric函数矛盾运用

最近在BugkuCTF平台刷题,遇到‘矛盾’http://120.24.86.145:8002/get/index1.php,感觉蛮有意思的,记录下思路

目标代码如下:

$num=$_GET['num'];
if(!is_numeric($num))
{
echo $num;
if($num==1)
echo 'flag{**********}';
}

 想要得到flag变量num必须是1,但是上一层判断语句使用is_numeric判断变量num不能是数字,这是不是很矛盾

下面看下解题思路:

主要是关注获得flag的那个条件判断语句,怎么才能让这个变量不是1,而让条件成立呢

由于变量num是直接接入条件的,故可以构建多条件,来成立判断

eg:if(1=1|1=1)  条件成立

payload:1=1|1,且能通过上层is_numeric函数的判断

猜你喜欢

转载自www.cnblogs.com/alummox/p/9484622.html