第十题:涅槃,亦是新生
搜索关键词KCTF没有搜到,只好一点点动态调试找逻辑
最后在一个比较大的switch-case中找到核心逻辑
case0逐个双击查看unk可以看到KCTF 2025的字符,后面还有个putchar打印了Flag:
case4里有correct!和Wrong!,需要满足*(a1+4576)==42(由此可知长度为42)
搜索4576字节在case9中发现比较逻辑,相等才++
由此可以合理猜测单字节加密可以尝试爆破,输入42个a、42个b等等,动态调试发现*(a1+4576)确实变化
输入KCTF,发现正确的正好4
很好,下面可以尝试爆破思路,先前的测试发现Wrong错误后并没有退出程序(跟着动态调试会发现卡在一个无限循环上)
此外,要想爆破需要知道每次正确的字符数
所以合理的思路是:
在打印完Wrong!后打印*(a1+4576)的值
打印完还需要自己结束程序,否则没法pwntool爆破
第一条的处理方式是查找可以写入输出流的导入函数,在import中最终找到write可以使用
先写汇编代码
---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-288366.htm
[原创]KCTF 第十题:涅槃,亦是新生 wp by SU
245 浏览
0 回复
暂无回复,快来抢沙发吧!