弱类型比较绕过.md
字符串与数字弱类型比较
构造password=404abc
即可
原理
在password
和数字进行弱类型比较的时候,password
后面的字母部分被截断,因此结果为404
字符串与数字的运算
if (isset($_GET['num'])) {
$num = $_GET['num'];
if (intval($num) < 2020 && intval($num + 1) > 2021) {
echo("success");
} else {
die("failed");
}
}
构造num=1e5
即可
原理
在较低版本的php
中,intval
函数解析到字符串非数字部分直接结束,因而'1e5'
被解析为1
,
而当字符串同数字进行四则运算时会先行转换为数字,也就是100000
,在进行相应的运算
#Web #PHP #特性 #bypass #function