惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 司徒正美
宝玉的分享
宝玉的分享
美团技术团队
量子位
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
IT之家
IT之家
爱范儿
爱范儿
J
Java Code Geeks
博客园 - Franky
Last Week in AI
Last Week in AI
B
Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
I
InfoQ
GbyAI
GbyAI
Recent Announcements
Recent Announcements
小众软件
小众软件
H
Help Net Security
Microsoft Azure Blog
Microsoft Azure Blog
MyScale Blog
MyScale Blog

Hi, I Am I

[I Am I 年度简报] — 不知终日梦为鱼 初探 ESP32-CAM QQ 聊天记录 MHT 文件转 HTML [I Am I 年度简报] - 草木本无意,荣枯自有时。 Hexo 中实现 Live Photos 支持 写在当下 NKCTF 2024 1z_F0r3ns1c5 Writeup 春秋杯冬季赛 2023 Writeup [I Am I 年度简报] - 2023 某内网渗透内部赛 Writeup 强网拟态 2023 Writeup Github Actions 自动化部署 Hexo 浅析CobaltStrike流量解密 陇剑杯 2023 Writeup CTF线下赛AWDP总结 ISCC 2023 Writeup ISCC 2023 实战题 Writeup CISCN 2023 Writeup 福建闽盾杯网络空间安全大赛 2023 Writeup 天一永安杯宁波市网络安全大赛 2023 Writeup 贵阳大数据及网络安全精英对抗赛 2023 Writeup 红明谷杯 2023 Writeup Confetti 带来有仪式感的鼓励 记一次 JS 逆向密码加密 [I Am I 年度简报] – 2022 PHP 读取 Excel 文件内容并写入数据库 从0开始的 MoeCTF 开发之路 观安杯 2022 Writeup 利用微信服务号实现早安自动化 Cloudflare批量拉黑IP脚本
山东省大学生网络安全技能大赛 2023 Writeup
2023-10-24 · via Hi, I Am I

写在前面

2021 年网络安全爱好者赛道选拔的时候差亿点晋级,所以没打成(因新冠疫情延期到现在举办…),找朋友要了所有附件做了做,时隔两年回头看感觉题目还算可以,整体难度不是很难。

Misc

简单的编码

二八二八,咔咔就是发!

就简单的进制转换,四位为八进制,四位以上是二进制

import libnum
import base64
s = '0122 110001 1101011 0172 1010010 0105 061 1011010 0127 1101100 1100100 0110 0122 1010100 0116 1000101 0124 110000 064 1111010 0121 060 0144 1001110 1010111 1010101 0122 1001000 0124 1010101 0112 0130 0122 061 0106 0141 0126 0105 0164 1001110 0127 1101100 0144 1001000 1010111 0126 1110000 0105 1010010 060 111001 1001011 1010110 0105 1100100 1010110 1010111 1101100 0122 1010000 0124 0154 1001010 1010100 1010010 110001 0153 1111001 0122 1000101 1100100 0120 1010001 0154 0144 0110 1010110 1010100 1001110 1000101 1010010 1010101 110101 1010011 0126 060 1100100 0116 1010111 0153 1010010 0116 0124 0126 0112 1010101 1010010 060 1000110 0141 1010110 0105 1000110 0116 1010111 1101100 0144 1001000 1010100 1010100 1001010 1000101 0124 1010101 110101 0123 0126 060 0144 0126 0127 1101100 0122 1001100 1010100 1101100 0112 1011000 0122 110000 060 110000 1010110 1000101 1100100 0116 1010111 0154 0122 0110 1010110 0124 1001110 0105 1010010 0125 061 0141 0125 1101011 1100100 1001110 0115 0154 0122 0110 0124 0153 1001010 1011001 0124 1010110 1000101 071 1010000 1010100 110000 111001 1010000 0124 110000 111101'

s = s.split()
flag = ''
for i in s:
    if len(i) > 4:
        flag += libnum.b2s(i).decode()
    else:
        flag += chr(int(i,8))
print(libnum.n2s(int(base64.b32decode(base64.b64decode(flag)),16)).decode())
# flag{00d56b957bd8ebf2b0064fe5f935b154}

Stego

我应该去爱你

全世界还有谁,比我们能绝配~

image-20231022212652565

数独

闲来无事,做个数独吧 tips:将数独的结果横向排列,即可得到一组16位的神奇密码

数独如下所示,根据题目描述解出数独得到 4132234132141423

0000  ->  4132
2000  ->  2341
0010  ->  3214
0403  ->  1423

然后发现 r0,g0,b0 存在隐写,判断为 lsb 隐写,直接解密即可

PS D:\Misc\png\lsb> python2 lsb.py extract shudok.png-stego.png flag.txt 4132234132141423
[+] Image size: 690x683 pixels.
[+] Written extracted data to flag.txt.
PS D:\Misc\png\lsb> cat flag.txt
flag{7d692a3c795478b16631eb9b43677075}

莫生气

他人生气我不气,气出病来无人替

发现 jpeg 文件尾部有一个缺失文件头的 png ,手动补上文件头然后分离即可

89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52

image-20231024135928699

然后直接 Python3 版本的 bwm 双图盲水印得到 flag

PS D:\Misc\BlindWaterMark> python .\bwmforpy3.py decode .\flag.jpeg .\flag.png .\out.png
image<.\flag.jpeg> + image(encoded)<.\flag.png> -> watermark<.\out.png>

image-20231024135904949

Forensics

金刚大战哥斯拉

哥斯拉大战金刚,到底谁会获胜呢?

直接题目推测肯定是哥斯拉 Webshell 流量分析,直接一键导出所有 HTTP对象列表,响应包里可以发现密钥,同时在 shell(22).php 发现关键流量,直接解密即可,或者套模板

<?php
function encode($D,$K){
    for($i=0;$i<strlen($D);$i++) {
        $c = $K[$i+1&15];
        $D[$i] = $D[$i]^$c;
    }
    return $D;
}

$key = '9c2ffaf6a14493bf';
$res = '';
echo base64_encode(gzdecode(encode(base64_decode(urldecode($res)),$key)));

image-20231023182046120

小刘的硬盘

小刘的硬盘-小刘有一块硬盘误删了一些文件,你能帮帮他么?

直接使用 DiskGenius 打开虚拟磁盘文件,然后 恢复文件 发现一个 flag.zip

image-20231023183000571

导出 flag.zip 后,打开发现有密码, 同时备注里面给出 小刘喜欢用自己的名字+生日当密码,直接写脚本生成字典

f = open('pass.txt','w')
for i in range(1970, 2001):
    for j in range(1,13):
        for k in range(1,31):
            print("小刘{}{:0>2d}{:0>2d}".format(i,j,k),file=f)

image-20231023184115363

Crypto

小试牛刀

变异的凯撒密码,做到这里翻了翻吃灰已久的工具库,上次遇到变异凯撒貌似就在 2021 年初刚入门 CTF 的时候…不愧是 2021 年延期至今的比赛,都是陈年老考点。

s = b'ipfm\x82Kj]p~l?\x82ogw\x85mt[K\x8br\x97'

k = 3
for i in s:
    print(chr(i - k) , end='')
    k += 1
# flag{CaSer_1s_VerY_E4sY}

Reverse

人生模拟

定位到 main() 发现关键点在 sub_40350F(),直接根据加密逻辑运行一下即可

image-20231023191610006

s = [432,408,429,438,452,246,243,417,423,444,236,231,203,447,207,417,253,224,204,443,419,248,442,241,203,251,224,239,441,254,444,246,203,245,255,445,248,478]
for i in s:
    print(chr((i>>2)^0xa),end='')
# flag{76bce138e9b529db4d68421d5e7875e4}