web89&90&92&93
intval函数用于获取变量的整数值
绕过姿势:
(1)数组绕过 数组非空时返回1 为空时返回0
弱比较时候可以传入两个空数组
(2)小数转换
intval() 转换小数类型时,只返回个位数,不遵循四舍五入的原则。
某个数字被过滤 可以在后面加上小数部分
(3) 整数加字符 eg:4456a 被解析为4456
(4)取反 支持两次取反绕过
(5)可以通过运算符 5*5=25 绕过25的过滤
但这里过滤了0~9
这里可以构造数组 数组非空时返回1
payload:?num[]=1
web91&
绕过preg_match
/m 表示多行匹配
91:本题需要匹配到换行后的php 但不能匹配到本行的php
因此可以构造%0aphp
web94&95
strpos函数
查找字符串首次出现的位置
if(!strpos($num, "0")){
die("no no no!");
表示num中必须要包含0
但是第一位不能是0!! 如果第一位是0 strpos函数就会执行die
所以不能使用常规8进制绕过
这里可以使用小数绕过 4476.10
95这道题过滤了小数点
可以使用八进制 + %0a 或者%20 组合进行绕过
payload=%0a010574
标签:num,no,特性,strpos,数组,绕过,PHP,小数 From: https://www.cnblogs.com/heck1ng/p/18069552