freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

注册码泄露原理以及例题
2024-08-09 10:36:11

引言

题目给了小明的机器码:1653643685031597

用户user_id:xiaoming

可以看到题目采用了SIMD指令集

202408081444006.png

该指令格式在CTF和攻防对抗中经常出现,可以提高执行效率的同时也可以增加逆向的难度。

对于此类指令和题目,我们分析的方法是:遇到查意思,查的多了就跟看正常代码一样,采用动态分析。

机器码修改

将内置的机器码改为题目给的:1653643685031597

202408081444008.png

202408081444009.png

修改成功:

202408081444010.png

202408081444011.png

得到flag的时候跟machine这个有很大关系。

【----帮助网安学习,以下所有学习资料免费领!加vx:dctintin,备注“freebuf”获取!】

① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

动态分析

machine_id处理

202408081444012.png

在这个加密函数中

202408081444013.png

发现了MD5特征

经过动调拿到函数加密后的结果

202408081444014.png

与我们的猜测是相符的

202408081444015.png

可以发现最终md5(机器码)变成

202408081444016.png

user_id处理

202408081444017.png

202408081444018.png

和调试machine加密一样,最终MD5(user_id)变成:

202408081444019.png

最终处理

202408081444020.png

202408081444021.png

经过之前相同的加密

202408081444022.png

变成这个数字:1228240365737281

然而这还没完,居然进行两次相同加密

202408081444023.png

再次加密后的结果:0502036271810858

202408081444024.png

202408081444025.png

202408081444026.png

可以发现此题出的很好,利用了密码比较的漏洞,没有将密文给出,而是将生成的密文在中间给出,从而造成了数据泄露。

得到flag

回顾加密流程,可以发现

f(key) = f( f( f(md5(machine)) + f(md5(user_id)) ) )

那么题目给了得到flag的machine和user_id,可以得出

Key =f( f(md5(machine)) + f(md5(user_id)) )

所以最终flag:

flag{1228240365737281}

# CTF # 攻防对抗 # 动态分析
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录