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

 

posted @ 2022-04-12 12:11  v2ish1yan  阅读(57)  评论(0)    收藏  举报