Web Lab 1:计算机网络基础 ¶
Task 1: 网络基础 (30%) ¶
请探索如下问题的答案:
- 使用
nslookup
命令,用校内 DNS 服务器查询www.zju.edu.cn
的 IP 地址。给出完整的命令和查询结果。 - 使用
nslookup
命令,用公网 DNS 服务器查询www.zju.edu.cn
的 IP 地址。给出完整的命令和查询结果。 - 分别直接访问用校内 DNS 和校外 DNS 查询到的 IP 地址,能否访问成功?访问结果有何区别?这些地址是服务器的真实地址吗?试分析造成这种现象的原因。
- 提示:可以对比用域名和用 IP 访问的 HTTP 请求包区别,理解问题出在哪一层
Task 2: HTTP 原理应用 (35%) ¶
请同学们准备 BurpSuite(社区版即可
同时,个人在此推荐同学们安装 HackBar 浏览器插件。这样只需要按下 F12
打开开发者工具即可对 HTTP 请求进行简单的修改后重发。
Cookie-Editor 等插件可以帮助你查看网站在浏览器上储存的 Cookie。
任务:
- 使用 BurpSuite 和浏览器的开发者工具分析本科教学信息服务管理平台的成绩查询页面。
- 大致指出页面加载的流程
- 找到返回关键信息的接口和参数
- 可供参考:Intercept HTTP traffic with Burp Proxy
- 学会使用 Python 中的
requests
等库发送请求,通过自定义 Cookie 等方式尝试从学校网站抓取自己的本学期成绩。- 如果需要轮询,请注意访问频率控制,不要对服务器造成过大压力
- 可以使用生成式 AI 帮助自己学习编码
- 你需要提交相关代码
Task 3: HTTP 请求走私实战 (35%) ¶
课上我们学习了前端服务器优先解析 Content-Length,后端服务器优先解析 Transfer-Encoding 造成的 HTTP 请求走私漏洞。这种走私漏洞通常简称为 CL.TE 型。
Burpsuite 的开发公司 PortSwigger 提供了一个 CL.TE 型的 HTTP 请求走私漏洞的 Lab。
任务:
- 简述 HTTP 请求走私漏洞的原理。
- Lab 内是一个 BLOG,每个 post 下都有评论区。请你利用 HTTP 请求走私构造一个恶意数据包,发送给服务器之后,接下来的任意一个请求 ( 可能来自受害者 ) 的内容 ( 部分即可 ) 会被原封不动地发送到某个 post 下的评论区。这样,攻击者就可以通过看评论区的内容获取受害者的 HTTP 请求内容了。给出你构造的数据包和成功后的截图。
Bonus: 漏洞报告阅读 (+15%) ¶
- 阅读课上提到的 Steam 支付漏洞的漏洞报告。
- 用自己的语言简述漏洞的成因
- 简述绕过服务器校验的原理