ctfshow php特性总结(1)
学习的是intval()函数的特性
首先,感谢石师傅(th31nk)提供的账号!!!!
intval()是什么:
第一个:
preg_match无法匹配数组,所以传参为:?num[]=1
第二个:
这里可以直接在4476前面加上'+'号,payload:?num=+4476
第三个:
这里是preg_match可以用%0a进行绕过,payload:?cmd=flag.%0aphp
https://blog.csdn.net/qq_46091464/article/details/108278486
第四个:
因为intval后面base的值为所以0这里可以用其他进制表示。
16进制:0x117c
2进制:0b1000101111100
8进制:010574
payload:?num=以上任意一种。
第五个:
过滤了字符,所以用8进制的
第六个:
这里不能用其他进制进行表示了,所以看strpos(),是返回目标字符串在原字符串中第一次出现的位置,这里不能让0出现的位置为0,所以可以用intval()可以把浮点数转换为整数的特性来绕过。
payload:?num=4476.0
第七个:
这里preg_match过滤了小数点,但是可以用八进制进行绕过,但是0不能是在最前面的,所以可以再前面加上一个'+'或者空格
payload:?num= 010574或者?num=+010574
end