2019 强网杯 WriteUp
🏛️ 组织架构
指导单位:中央网信办网络安全协调局
主办单位:河南省互联网信息办公室、郑州市人民政府、信息工程大学
支持/协办单位:教育部网络空间安全专业教学指导委员会
承办单位:郑州市高新区管委会
🥇 线下赛最终排名(前三名及部分高校)
冠军:腾讯 eee 战队(腾讯安全)
亚军:0×300 战队(长亭科技)
季军:TsingQian 战队(清华大学-奇安信联合研究中心)
总排名第六:白泽战队(复旦大学)
总排名第十五:Nebula 战队(中国科学技术大学)
Misc
强网先锋-打野(Steg 隐写)


Reverse
强网先锋_AD(签到)

Base64 解码即可

webassembly(WASM + XTEA)

WASM 不能直接使用 IDA 打开逆向,需要先转为 C
1 | wasm2c webassembly.wasm -o webassembly.c |

定位到 main() 函数

关键是其中调用的 f15() 函数,在其中看到 var_i3 = 2654435769u;,十六进制是 0x9e3779b9,这是 XTEA/TEA 的经典 delta
函数开头将 Key[4] 设置为了 0
1 | // 从内存地址 var_i0 开始,将连续的 16 字节(128 位)内存空间全部清零 |
加密则是将 0-31 字节分成了四组分别进行 XTEA 加密(AI 给出的,代码太复杂了)
1 | // 第一组 |
代码最后则是在做异或处理,例如第 34 位
1 | var_i1 = i32_load8_s(... +34u); |
将异或的数值提取出来
1 | xor_table = [ |
编写脚本
1 | """ |

Crypto
强网先锋-辅助(共素数攻击)
题目中的关键代码,它只重新生成了 p,但是没有重新生成 q
1 | p = getPrime(1024) |
1 | from math import gcd |