看见哔哩哔哩搞了个 1024 程序员节,里面有一个叫做“安全攻防挑战赛”的东西。我以前没有做过 CTF ,正好想试试,还看到有可能获奖,于是就做了一下试试。前六题都做完之后发现第七题有 20 分,于是决定先用小号试一下再大号提交。在提交我筛选出来的 IP 时,系统提示“恭喜您找到了大部分 IP 地址,请再接再厉”,获得了 10 分。通过归纳总结,我发现提交 FLAG 的 API 有如下策略:
于是,我写了一个简单的小程序来检查每个 IP 是否正确。原理上就是把确定正确的 13 个 IP 附上需要检验的 IP 提交,然后如果提示“不正确”那么 IP 就不在 FLAG 里,如果提示其他的内容,那么 IP 就是正确的。
通过一晚上的运行,我将整个数据集的 IP(共 19823 个)都尝试了一遍,正确的 IP 如下:
(以下是 FLAG 中存在的 IP 的 sha1sum )
b8f9f8d26901786a7fe0b2ab35b054c4d34ce42f -
d2e34145b89d0807f40b84e850294f86d70f5c2c -
deb00796f9c4e1ad9dfe6f174cdb45cbdee6e5cd -
9d381d580b3998aba2575bf87a214ebb37d08ecf -
987eb61e8707cca3a05085f1a3a687bc0fcb9211 -
3f4390d670eb3b5de2e109a637b991c032f92f02 -
6f35451b11feb306f93562f45914276549103766 -
89bc2e8435dbe36c38151f7b218f07b71c89bc2a -
5bbd5a5b6259fb83e95c05625cc39ca6e9744ca7 -
8879efe720e600d80b7686de1e3da5647ba18abe -
62d42b7707be4b8b59c5a2d054053803355d6256 -
f490fdfb5b0c9d0b1319b262f68bea0e2b4a21ac -
9b51fe776f0488c63d4dc4bcb29309164201b2db -
1010281072c0c789bb09aeb0a8cbd63384bf605c -
49a7ca656edce26049925489c5c10d747942d3b9 -
8b12dae8df67a9a534504c41fa55e3898f83fa2a -
c9e9121007e5d292ac8e44b7a41977922252eae9 -
7993a6d4ed983f613a06d5d8f9648e2259d83b30 -
c578d7dddaa13cd36172dfe8ec93908994b8acc2 -
将这些 IP 提交后,我仍得到了“恭喜您找到了大部分 IP 地址,请再接再厉”。我又便写了一个类似的程序(用 shell 写的)确保我的程序没有出现 bug ,结果仍然相同。有人成功提交了全部的 IP 吗?有人知道我上面没有提到的正确的 IP 吗?这道题是不是不能获得满分?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.