CTF之旅(CTFHub技能树+详细Write up+持续更新ing)(RCE)

CTFHub题目WriteUP地址汇总

本来不想分段的,但是后来发现要写的东西太多了,就写了个首页,汇总一下地址,大家见谅

首页地址

REC

eval执行

需要的工具
蚁剑

emm这道题我也不知道是为啥,跟着别人的教程在url中输入http://challenge-187cf816b7bf0349.sandbox.ctfhub.com:10800/?cmd=system(‘ls /’);这些东西我的浏览器不会返回任何东西。
那没办法了,只能连接蚁剑
在这里插入图片描述
由主页代码得知,这里的连接密码是cmd
在这里插入图片描述
点击测试链接,右下角出现绿色的连接成功即可。
在主目录里找到flag文件,点进去即可得到flag
在这里插入图片描述
这题暂时没时间用到RCE的特性,之后再用吧,不急

文件包含

需要的工具
浏览器
HackBar

首先给我们看到了它的源代码,分析一下,是要通过get方式传入一个file参数,如果其中不包含flag字符串的话,就可以把它引用进来
在这里插入图片描述
那么看看下面,有一个shell给我们用,点进去
在这里插入图片描述
说明它的关键参数是ctfhub,我们只需要在get中把它引入即可
接下来使用HackBar进行操作
用ctfhub传入一个参数,让它遍历出当前目录的文件
在这里插入图片描述
可以看到有一个flag文件

使用cat命令查看该文件,即可得到flag
在这里插入图片描述
其实它就是利用了服务器中本来就存在的一个文件,在get中引用就可以成为一个注入点,然后去输入命令就可以啦!
本题结束

php://input

一开始看到这个题也是一脸懵逼的,首先代码分析可以知道它要让我们的GET中有一个file的变量然后有一个php://input的参数值
在这里插入图片描述
那这玩意是啥呢?那么去网上查吧,,
查出来的结果是这个
在这里插入图片描述
简单来说就是这东西可以让服务器读取到post中的php代码然后执行
接下去就好办了

不过我的HackBar一如既往的令人失望:
在这里插入图片描述
啥都没输出,不过不要紧,咱们还有BurpSutie在支持我们:
点击发包后在BP里面抓包,再点击送到Repeater里,就可以执行我们熟悉的命令行代码啦:
在这里插入图片描述
在这里插入图片描述
本题结束

读取源代码

一开始还是那个熟悉的代码,和上题一样
但是这次却不能用php://input 了,可能是phpinfo()中allow_url_fopen没有开启,导致不能使用php://input
去查了一下,发现可以用这个:php://filter
在这里插入图片描述
简单来说就是一个读取文件的命令:
构造Payload:
php://filter/resource=/flag
在这里插入图片描述
本题结束

远程包含

一开始依旧是那个熟悉的代码,不过这次换成了有flag就返回Hacker
在这里插入图片描述
那么还是试试file=php://input 能不能用:
在这里插入图片描述
还真可以,,
那么就是老套路了:(和上面两题一样)
在这里插入图片描述
在这里插入图片描述
本题结束

命令注入

一开始 我们可以分析源码
在这里插入图片描述
得到我们只要随便输入一个ip然后它会帮我们ping
在这里插入图片描述

这时候我们再输入一个;再跟一个命令就可以拥有命令行的控制权啦!
在这里插入图片描述
这里要注意一个问题,ls这个命令是遍历当前目录下的文件,ls /则是遍历主目录,我一开始没搞清楚这两个命令以至于搞了好久没搞好
这里还有一个小坑:当你输入
www.baidu.com;cat 2320184855210.php;
的时候它不会给你显示flag
在这里插入图片描述
要你F12看源码才行
在这里插入图片描述
小小的题目,坑却踩了很多,看来我还要加强
本题结束

过滤cat

这个也是很简单的啦
在这里插入图片描述
www.baidu.com;ls;
在这里插入图片描述

看一下代码,有cat就不能执行,那么去搜一下有啥能代替cat的:
在这里插入图片描述
可以试一下tac:
www.baidu.com;tac flag_145421497820403.php;
在这里插入图片描述
F12查看源码,成功:
在这里插入图片描述
本题结束

过滤空格

这里分享一个网址:关于绕过空格的几种方式

审计代码可以看到,它过滤了空格:
在这里插入图片描述
通过网上查的资料得知,这些可能可以代替空格
在这里插入图片描述
之后和之前几题一样
www.baidu.com;ls;
在这里插入图片描述
www.baidu.com;cat<flag_305671596615611.php;(这里多试几个就行了)
在这里插入图片描述
F12
在这里插入图片描述
本题结束

过滤目录分隔符

这次好像没有什么字符可以替代了
不过不要紧,我们可以用我们的逻辑替代掉/

先输入:
www.baidu.com;ls;
在这里插入图片描述
看起来 flag_is_here 这玩意是个文件夹

我们cd进去,再ls看看:
www.baidu.com;ls;cd flag_is_here;ls
在这里插入图片描述
找到了我们要的文件,接下来我们可以先cd进去,再cat该文件

www.baidu.com;cd flag_is_here;cat flag_29003292349992.php;
找到啦
在这里插入图片描述
在这里插入图片描述
本题结束

过滤运算符

可以看到,这次过滤了这几个
再ls一下
在这里插入图片描述
但是并不影响我们执行代码
www.baidu.com;cat flag_2752844493186.php;
在这里插入图片描述
本题结束(我怀疑是来骗我30个币的)

综合过滤练习

这边暂时引用一下大佬的教程吧,以后有空我再自己出教程:网址
我就稍微做一个总结吧:
这道题里:

${IFS} 代替 空格

$* 占位符 比如 flag=> fl$*ag 这样就检测不出来flag字符串了

%0a是换行符,%0d是回车符,可以用这两个进行命令拼接。

其他和之前的题目差不多

(完结)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值