当前位置: 首页 > news >正文

2025SQCTF赛题复现

跟随DFS师傅的步伐来复现一下赛题

Misc

老君山的落日好美

暴力破解拿到jpg图片
image.png
接下来没什么思路,一种隐写一种隐写试,都没什么思路
尝试用stegdetect:
94dd3ce6c362c23fb9bb7cc47e70a702.png
发现图片格式损坏,被添加了字节
怀疑有盲水印:
尝试watermark:
d3099ae8b14d6b034a5c285dc980d561.png
拿到flag:
SQCTF{luorihaomei}

孩儿们等我破军

第一关应该和矩阵有关:
image.png
那么这里猜想到的就是密码为数字,直接暴力破解
image.png
第二关给了六张图片和一个加密压缩包,图片放到010editor中,
首先发现的就是文件名和第一关的AB的值对应,其次查看文件格式:

  • 发现文件尾异常
  • 六张图片中只有15.png和其他图片不同

image.png

注意到文件尾,reflect中有We关键字,发现每个文件中都有reflect,并且都包裹关键字
可能是把每个都提取出来拼接,然后作为密码
写个脚本生成字典:

import itertools
# 定义6个不可拆分的段

segments = ["We", "c", "L1", "0", "e", "M"]
# 生成所有排列组合

all_permutations = itertools.permutations(segments)
# 写入文件(覆盖模式)

with open("combinations.txt", "w") as f:

    for i, perm in enumerate(all_permutations, 1):

        # 拼接为无空格字符串

        combined = "".join(perm)

        f.write(f"{combined}\n")

        # 打印进度(每100个提示一次)

        if i % 100 == 0:

            print(f"已生成 {i}/720 个组合")

  

print("生成完成!文件保存在 combinations.txt")

字典爆破:
2fa0e91219791e305e1ef63e8b4ae1c9.png

第三关,文件尾藏key——>base32解码,拿到密码
第四关,二维码一直扫码不到,索性自己拼了一个
image.png
image.png

flag{亲爱的召唤师:欢迎来到sqnuctf!}

哈哈

可以看到音频文件很有规律
尝试提取,宽的为0,长的为1

image.png

提取出来:

0101001101010001010000110101010001000110011110110011010101000010010000110110100001101001010011000110010001011111010010010011010101011111011100100110010100110100001100010011000101011001010111110110001101010101010101000100010101111101

思路:

二进制转字符
二进制转图片

随波逐流直接梭了
image.png
SQCTF{5BChiLd_I5_re411Y_cUTE}

花非花,雾非雾_0

文件上传页面,一段文字和bpm、wav文件

贝斯小心翼翼地捧着她精心收集的图片宝库,来到阿尔西四世先生的加密工作室。这位挑剔的图片鉴赏家戴着单片眼镜,仔细审视每一张图片。当他皱起眉头时,图片就会化作一串数字尘埃消失不见;而当他露出满意的笑容说嘻嘻不嘻嘻时,就会从西装内袋里取出一串神秘的魔法密文作为奖励——U2FsdGVkX19hDm7VsaTyR1yuDiGFF8wr7aoQfg==,这串字符在空气中闪烁着幽蓝色的微光。

wav文件为摩斯密码
image.png
解码后:

flag1:{fu429-

查看bmp文件LSB
image.png

flag2:wey23-vbd23

第三段脑洞:

密文:U2FsdGVkX19hDm7VsaTyR1yuDiGFF8wr7aoQfg==
密钥:嘻嘻不嘻嘻——>(base64)——>5Zi75Zi75LiN5Zi75Zi7
加密方式:阿尔西四世先生——>rc4加密

image.png

flag3:-278fgy17dh}
flag:flag{fu429-wey23-vbd23-278fgy17dh}

这是什么加密

խࢢൎࢺଳবɠઈчŧರڥXʦ୦พцঙԮࡉȥॺೡԋЭप೩ܥӉʣɉ5

image.png

宝宝你是一只白色大猫猫

SilentEye解密
image.png
残缺二维码,png宽高爆破
image.png

ez_music1

查看频谱图
image.png

FFT IFFT

根据已知加密脚本写解密脚本

YuanShen_Start!

第一层:
音频查看波形图,没太研究懂

SQCTF{yuan_shen_1s_a_good_game!}

第二层:
word文件
这里少了一块,有一张图片
image.png
移开拿到信息
image.png

SQCTF{f968566s-3fb6-4bfd-885a-d9e102528784}

图片查看十六进制数据:
010报错,查看文件尾:
image.png

78Nc4eeQNQLorCL6Vhh4tC8gumHm8aDi5apYDgaVoEzDvJMFUeXZn3BBhyn

base58+栅栏
image.png
解压拿到flag

piet

根据题目名字,npiet工具:

npiet.exe 1.png
SQCTF{Hello world!}

小巷人家

社工
SQCTF{西园寺}

love.host

文件尾藏了压缩包
image.png
提取出来解压拿到flag

阿尼亚

根据文件名联想道使用 steganography 工具
image.png

王者荣耀真是太好玩了

社工

Web

RceMe

长度限制<5,nl绕过直接读取
image.png

ezGame

测试:
image.png
失败后抓包,查看url:
image.png
修改分数拿到flag:
image.png

Ping

 <?php
if (isset($_GET['ip'])) {
    $ip = $_GET['ip'];
    
    if (strpos($ip, ';') !== false) {
        die('Hacker detected!');
    }
    
    system("ping -c 1 " . $ip);
} else {
    
    highlight_file(__FILE__);
}
?>

源码中不允许包含分号,管道符绕过
image.png

Through

经过测试,url可以实现任意文件读取
image.png

目录穿越:

..././..././..././flag

image.png

商师一日游

第一关:
查看源码
image.png

第二关:
根据描述:
打开你的终端,构造一块fish牌的曲奇饼,上面刻下strong字样,便可获得强筋壮骨牌鱼食曲奇
曲奇代表cookie,将其改为strong
image.png

第三关:
进入终端,在devtool中找到复活币
devtool用F12打开
image.png

第四关:
robots.txt
image.png

第五关:

 $a=$_GET['hhh'];
        if(preg_match('/^php$/im', $a)){
            if(preg_match('/^php$/i', $a)){
                echo 'hacker';
            }
            else{
                echo xxxxxxxxxxx;
            }
        }
        else{
            echo 'nonononono';
        }

echo xxxxxxxxxxx;的操作是匹配第一个正则,不匹配第二个正则
i表示不区分大小写,m表示匹配换行
%0a绕过

?hhh=%0aphp

image.png

第六关:
点击按钮,删除disabled标签即可
image.png

第七关:
写了一句话木马,蚁剑连即可

@eval($_POST['memory']);

image.png

My Blog

信息搜集:

后备空间:
username : admin
password : secret123

目录扫码

找到登录页面
image.png
image.png

baby rce

 <?php
error_reporting(0);
highlight_file(__FILE__);
extract($_GET);

$token = false;
if(isset($param1) && isset($param2)){
    if(sha1($param1) == sha1($param2)){
        $token = true;
        echo "Level 1 pass\n";
    }
}

class TYctf{
    public $person = 20;
    public $computer_number = 30;

    function getNumber(){
        if(isset($this->person)) {
            echo $this->person;
        }
    }
    function isFullUse(){
        if($this->person != $this->computer_number){
            echo "computer is lacking !!!\n";
        }
        else{
            echo "computer is enough !!!\n";
        }
    }
    static function getKey(){
        include ("flag.php");
        echo "Level 2 pass\n";
        echo "You are winner, this is your reward: \n";
        echo $flag;
    }
}

if($token){
    call_user_func($_POST['payload']);
}

?> 

sha1碰撞数组绕过
调用getKey方法
image.png

无参之舞

查看源码:

账号:sqctf
密码:1q2w3e4r

爆破密码
image.png

后台是RCE,根据题目,可以想到无参rce
exp:

var_dump(scandir(phpversion()[1]));   查看当前目录
readfile('f1ag.php');    读取文件

eeaassyy

右键被禁用,查看源码
url前面加上view-source:即可

CyberX安全团队纳新!
无限热爱,一起进步!

相关文章:

  • 泰勒公式的深入研究
  • 【信息系统项目管理师】高分论文:论信息系统项目的整合管理(旅游景区导游管理平台)
  • Laravel 使用通义灵码 - AI 辅助开发提升效率
  • 【vue】双向绑定
  • git安装(windows)
  • 一文读懂WPF系列之控件模版数据模板
  • LeetCode LCR157 套餐内商品的排列顺序
  • Java基础关键_037_Java 常见新特性
  • 深度解析Redis过期字段清理机制:从源码到集群化实践 (二)
  • OSPF单区域配置实验
  • 软件测试之单元测试详解
  • [LVGL] 使用lvgl自带的链表函数
  • CSV文件中的中文乱码--UTF-8 with BOM
  • DeepSeek 与开源:肥沃土壤孕育 AI 硕果
  • react/vue中前端多图片展示页面优化图片加载速度的五种方案
  • 高德地图 JS-SDK 实现教程
  • LFM调制信号分类与检测识别
  • electron-builder参数详解
  • 医用多功能压力检测仪,精密医疗的守护者
  • 04 GE - 钳制属性,等级
  • 武汉警方通报一起故意伤害案件:1人死亡,嫌疑人已被抓获
  • 被央视曝光“废旧厂区沦为垃圾山”,江西萍乡成立调查组查处
  • 金融月评|尽早增强政策力度、调整施策点
  • 讲座预告|以危机为视角解读全球治理
  • 5吨煤炭“瞬间蒸发”?掺水炭致企业损失千万,腐败窝案曝光
  • 足球少年郎7月试锋芒,明日之星冠军杯构建顶级青少年赛事