RCTFweb复现

filechecker_mini

给了附件,代码比较短,先审计一下。
image-20221215131132596

在这里发现了file –b命令,且filepath部分可控,明显的ssti漏洞,没过滤,直接打。

Payload:

#! {{lipsum.__globals__.os.popen("cat /flag").read()}}

image-20221215131214378

easy_upload

先看一下附件,文件上传,但是有过滤。

image-20221215131241825

然后尝试绕过,pHP可以绕过后缀名,然后利用脏数据传进木马。

image-20221215131253948

image-20221215131307546

filechecker_plus

比较第一题是一个升级版,看一下代码哪里改了。

image-20221215135704089

只改了最后的返回方法,ssti漏洞被修复了,然后再来从头看一下代码,发现代码逻辑是先保存文件,然后执行/bin/file,实际上最后是想出来了,但是不知道\r需要删除,还是战队里的大师傅写出来了。

利用python的os.path.join的特性覆盖/bin/file。

image-20221215135843071

filechecker_pro_max

这一个涉及到一个没见过的知识点,首先是/etc/ld.so.preload配置文件可以预加载so,只要在文件内写入so文件位置即可。

那么我们便可以利用LD_PRELOAD劫持了命令执行,首先本地尝试一下。

image-20221215141207614

然后执行gcc命令,成功so文件

gcc -fPIC -shared 1.c -o 1.so

然后再将so文件放入/etc/id.so.preload里

image-20221215142115740

直接命令执行明显会造成堵塞,所以只能设置让其停止的代码,防止其堵塞。

嗯…,搞了个劫持本地复现的时候不小心把虚拟机搞炸了,直接看题目给的靶机吧,思路其实不难,利用竞争,在我们上传so文件成功带还没被删除的同时再上传上/etc/id.so.perload文件,这时再执行file命令的时候便会首先执行我们的写的c脚本里的命令。

同时上传两个文件形成竞争:

image-20221215201718401

image-20221215201726017

LD_PRELOAD劫持成功:

image-20221215201813713

ezbypass

这一题当时被战队的大佬直接拿下二血,我就没再多看,最后来复现一下。

题目给了提示xxe,但从题目名来看还是需要绕过一些限制。

Java題目先不看,审计不下来。

ezruoyi

明显的sql注入,先找注入点。

image-20221220160700830

image-20221220160635036

然后会发现在sql语句进行时有个过滤

image-20221220160739286

利用select%09绕过其过滤

payload:

sql=create table ff12333331 select%09extractvalue(1,concat(0x7e,substr((select%09flag from flag),1,15),0x7e,database())) as fm from flag;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

f0njl

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

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

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

打赏作者

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

抵扣说明:

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

余额充值