引言
题目给了小明的呆板码:1653643685031597
用户user_id:xiaoming
可以看到题目采用了SIMD指令集
[img=720,391.43034055727554]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444006.png[/img]
该指令格式在CTF和攻防对抗中经常出现,可以提高执行服从的同时也可以增长逆向的难度。
对于此类指令和题目,我们分析的方法是:遇到查意思,查的多了就跟看正常代码一样,采用动态分析。
呆板码修改
将内置的呆板码改为题目给的:1653643685031597
[img=720,317.0420168067227]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444008.png[/img]
[img=720,123.58208955223881]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444009.png[/img]
修改成功:
[img=720,276.5153374233129]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444010.png[/img]
[img=720,415.5364134690681]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444011.png[/img]
得到flag的时候跟machine这个有很大关系。
【----资助网安学习,以下所有学习资料免费领!加vx:dctintin,备注 “博客园” 获取!】
① 网安学习发展路径头脑导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权势巨子CISSP 认证考试指南+题库
⑥ 超1800页CTF实战本领手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)
动态分析
machine_id处置处罚
[img=720,225.5625]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444012.png[/img]
在这个加密函数中
[img=720,347.36842105263156]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444013.png[/img]
发现了MD5特征
经过动调拿到函数加密后的结果
[img=720,299.70318021201416]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444014.png[/img]
与我们的推测是相符的
[img=720,345.6]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444015.png[/img]
可以发现最终md5(呆板码)变成
user_id处置处罚
[img=720,360.5882352941176]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444017.png[/img]
[img=720,192.29813664596273]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444018.png[/img]
和调试machine加密一样,最终MD5(user_id)变成:
[img=720,90.66666666666667]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444019.png[/img]
最终处置处罚
[img=720,73.19648093841643]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444020.png[/img]
[img=720,314.14954806902216]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444021.png[/img]
经过之前相同的加密
[img=720,108.95705521472392]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444022.png[/img]
变成这个数字:1228240365737281
然而这还没完,居然举行两次相同加密
[img=720,182.61859582542695]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444023.png[/img]
再次加密后的结果:0502036271810858
[img=720,314.9636803874092]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444025.png[/img]
[img=720,359.3308550185874]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202408081444026.png[/img]
可以发现此题出的很好,利用了密码比较的漏洞,没有将密文给出,而是将天生的密文在中间给出,从而造成了数据泄露。
得到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}
更多网安技能的在线实练习习,请点击这里>>
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |