弱类型整数大小比较绕过

Posted observering

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了弱类型整数大小比较绕过相关的知识,希望对你有一定的参考价值。

0x01

<?php
$temp = $_GET[‘password‘];
is_numeric($temp)?die("no numeric"):NULL;
if($temp>1336)
	{ echo $flag;}

?>

is_numeric()

定义:

  • 用于检测变量是否为数字或数字字符串

语法:is_numeric(var)

  • var,必需,要检测的变量
<?php
$a=is_numeric("123");
$b=is_numeric(123);
$c=is_numeric("a123");
var_dump($a);
var_dump($b);
var_dump($c);

//123,"123"都为数字

?>

0x02 代码分析

不能为数字
这个数字大于1336

大多数php函数无法判断数组。
数组绕过

http://123.206.87.240:9009/22.php?password[]=1

技术图片

参考链接:
https://blog.csdn.net/qq_36869808/article/details/83590120

以上是关于弱类型整数大小比较绕过的主要内容,如果未能解决你的问题,请参考以下文章

PHP代码审计分段讲解

PHP常见绕过(更新ing)

MD5绕过

js判断数字大小

CTF_Web:php弱类型绕过与md5碰撞

php 弱类型总结