看雪2022 KCTF 春季赛 | 第七题设计思路及解析


出题团队简介

赛题设计思路
题目是一个简单的四宫格数独:
0,3,1,0
1,0,0,3
2,0,3,4
0,4,2,0
答案是:按顺序从左到右、从上到下填入数字就行
4224131
提示success就表示成功
赛题解析
本赛题解析由看雪论坛学者 Ally Switch 给出:

Step1
运行程序,随便进行一些输入,根据反馈可以得出:

Step2

1、最早弹出的提示"请输入7位数字",不在循环内,因此只会在第一次打开程序时提示一次;
2、蓝色方框位于大循环中的第一个小循环里,通过读取输入的字符串,并判断字符串的长度是否为7,否则就会在循环里提示"请输入长度7";
3、橙色方框在一个for循环中对字符串进行校验,若存在数字之外的字符,则会提示"请输入数字";
Step3

1、通过与标准库中的fmt_Println比较,可以发现fmt_Println_0多了一大段的校验判断过程。


Step4

1、通过交叉引用,可以找到给变量赋值的地方,发现位于fmt_Print中,也就是打印提示"->"的地方。由于这些变量的地址是连续的,所以可以直接转换为数组来看(默认名为fmt_Abc)
这里需要保证,矩阵每行每列,以及框出的4个四宫格的元素之和,必须为10。这里刚好有7个0,而要求输入的字符串刚好是7位数字,所以这里猜测是用输入的7位数字,填充这7个0的位置,从而满足校验。


第八题《迷雾散去》正在进行中
[广告]赞助链接:
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
- Ubuntu挂载NTFS分区
- Gi Admin Pro
- 讲师招募 | 打造优质网络安全课程,成为安全教育的引领者
- 想了解前沿的Intel CPU漏洞,走在时代前端吗?
- 雷军:“下一代 Ultra旗舰将面向全球发售”;戴尔宣布完全退出俄罗斯;TypeScript 4.8发布|极客头条
- 英美启用《数据访问协议》,将可便捷调用彼此互联网用户数据
- 历史上的今天:微软发布 ASP.NET Core;摩托罗拉创始人出生;靠计算机起家的美国大亨
- 因爬虫滥用,CTO和程序员被刑拘
- 用托管安全服务填人才缺口,能成?
- 在Z|荣耀终端(60W+/年)、VIVO招贤;10年+信安经验求职管理/技术岗
- 终于宣判了,疫情终究不是侵犯隐私的保护伞
- 怎么申请SSL SSL申请步骤是什么?
赞助链接