1

我正在做一个在线“黑客”挑战,我正在努力达到一个新的水平。

在当前级别,我们获得了“快速思考”的标题,并提出了以下问题,

“斐波那契数列中的元素 x 是什么,其中元素零为 0?”

其中 x 是随机生成的。

当我计算答案并提交它时,它会提示我对上述问题的另一个迭代(x 的值不同),并显示“回答不够快”。我已经尝试尽可能快地提交答案,但无济于事,所以必须有另一种方法。

如果我们查看页面的源代码,我们会看到以下内容:(我只会发布我认为有趣/相关的部分)

<form action="herecomes9.php" method="get">
  <input type="text" name="answer" />
  <input type="hidden" name="timestamp" value="1311528704" />
  <input type="hidden" name="number" value="274" />
  <input type="hidden" name="hmac" value="6d423e4405ceb79022662fbf5d1d2885c51b6ada2ad5e99500a3fbc4d0170b4fd9c7fd22af9a7e542617a5924586ca7e41860e17289120d1a899f1bcac007df3" />
  <input type="submit" value="Answer" />
</form>

所以我的下一个想法是通过更改 url 中包含的信息来编辑时间戳,就像这样

(只是一个例子来解释我的做法,可能与上面代码中列出的答案、时间戳、hmac 不匹配)

http ://www.skullspace.net/2011/08-batman/herecomes9.php?answer=1×tamp=1&number=1&hmac=e41bd1f9093a67b70ce9316b19abc1862ec 35c5c0f746444d8018286bf19d9adb05a652c46b5de53b2d4f d6bfb2c1f848c8dc92a54e84d042953d6b48b30b0f9

如果我将它提交到我的浏览器中,我们会得到标题,“不要试图变得聪明,HMAC 必须与你提供的参数相匹配。”

这就是我卡住的地方。

有没有人对我如何进入下一个级别有任何想法或提示?我可以以某种方式使 HMAC 匹配吗?完全有另一种方法吗?

感谢您的想法/输入/帮助!

4

1 回答 1

1

我建议您编写一个解析页面并立即响应的脚本,而不是试图破坏 HMAC。

HMAC 是一种验证码。它的目的是保证安全,它使用一个你很幸运能破解或猜到的密钥(换句话说,这不是前进的方向)。

于 2011-07-25T21:20:53.753 回答