章节大纲

  • 在此任务中,我们将向服务器发送一个正常请求,这样我们可以看到服务器如何响应该请求。我们要发送的请求如下:

    http://www.seedlab-hashlen.com/?myname=<name>&uid=<need-to-fill>
    &lstcmd=1&mac=<need-to-calculate>

    要发送这样的请求,除了使用我们的真实姓名外,我们需要填写两个缺少的参数。学生需要从 LabHome 目录中的 key.txt 中选择一个 uid 号。该文件列出了每个 uid 的密钥。学生可以使用任何 uid 及其关联的密钥。例如,学生可以使用 uid 1001 及其密钥 123456。

    缺少的第二个参数是 MAC ,先将密钥与请求 R} 的内容(仅参数部分)连接起来,其之间用冒号分开。请参见以下示例:
    Key:R = 123456:myname=JohnDoe&uid=1001&lstcmd=1

    然后使用以下命令计算 MAC :
    $ echo -n "123456:myname=JohnDoe&uid=1001&lstcmd=1" | sha256sum
    7d5f750f8b3203bd963d75217c980d139df5d0e50d19d6dfdb8a7de1f8520ce3  -

    这样我们就可以构造完整的请求,然后使用浏览器将其发送到服务器程序:
    http://www.seedlab-hashlen.com/?myname=JohnDoe&uid=1001&lstcmd=1
    &mac=7d5f750f8b3203bd963d75217c980d139df5d0e50d19d6dfdb8a7de1f8520ce3

    任务。请向服务器发送下载命令,并显示可以获得结果。