今天在ctf-show里面完成了web萌新1,对php intval()函数有了一些了解。
首先先看题目,直接给出了源码
里面运用到了intval函数,对此特别进行学习!
(部分内容来自PHP intval() 函数 | 菜鸟教程)
intval函数主要是用于获取变量的整数值。
同时此函数也通过使用指定的进制base进制(默认是十进制),返回变量var的integer数值。
从源码上可以看出,我们需要输入id,同时这个id要等于1000才能显示出源码。但是当id大于999时就会出现错误,那么我们就要想办法绕过intval函数。
方法一:使用单引号绕过
/?id='1000'或者/?id=“1000”
方法二:字符串绕过
/?id=2 or id=1000 或者是/?id=2 || id=1000
原理说明:intval函数特性是遇到字符串时,会从字符串的开始进行转换,直到遇到非数字字符。此处的字符串是“2 or id=1000”
方法三:用非10进制代替1000
使用二进制:0b1111101000
使用十六进制:0x38e
方法四:两次取反
/?id=~~1000
方法五:算数绕过
相乘或相除:/?id=100*10 或 /?id=500/(0.5)
更多推荐
22.2.26学习日记:php intval( )函数
发布评论