6

哔哩哔哩 1024 安全攻防挑战赛第七题可能没有最优解

 2 years ago
source link: https://www.v2ex.com/t/810403
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

V2EX  ›  程序员

哔哩哔哩 1024 安全攻防挑战赛第七题可能没有最优解

  crazytec · 17 小时 28 分钟前 · 1982 次点击

看见哔哩哔哩搞了个 1024 程序员节,里面有一个叫做“安全攻防挑战赛”的东西。我以前没有做过 CTF ,正好想试试,还看到有可能获奖,于是就做了一下试试。前六题都做完之后发现第七题有 20 分,于是决定先用小号试一下再大号提交。在提交我筛选出来的 IP 时,系统提示“恭喜您找到了大部分 IP 地址,请再接再厉”,获得了 10 分。通过归纳总结,我发现提交 FLAG 的 API 有如下策略:

  1. 当填入的 IP 少于 14 个时,提示“您提交的答案不正确”。
  2. 当填入的 IP 中有任何一个不正确时,提示“您提交的答案不正确”。
  3. 当填入的 IP 大于 14 个且都正确时,提示“恭喜您找到了大部分 IP 地址,请再接再厉”。
  4. 输入的 IP 无视排序

于是,我写了一个简单的小程序来检查每个 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 吗?这道题是不是不能获得满分?


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK