或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!!!
0x02 函数/特性说明
1.is_numeric()函数,如下45e0为数字或数字字符串
is_numeric — 检测变量是否为数字或数字字符串
0x03 代码解析
1.整体代码如下
$tests = array(
"42e0",
);
foreach ($tests as $element) {
if (is_numeric($element)) {
echo var_export($element, true) . " is numeric", PHP_EOL;
} else {
echo var_export($element, true) . " is NOT numeric", PHP_EOL;
}//42e0 is numeric
}
2.首先:
GET传参password,如果是数字或数字字符串,报错,否则NULL,往下跳。所以要不为数字或数字字符串。
如果大于1336,即可输出flag。不能为数字,又要大于1337,这本身是冲突的。但php存在特性1337a>1336,那我们可以使用数字+字母进行绕过
4.payload:
password=1337eee即可绕过
原文始发于微信公众号(鲲哥的Bypass之旅):奇淫巧计-is numeric和==绕过
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论