AAA CTF101 安全攻防实践短学期 Web Lab 1
仅供参考。
Task 1
参考文章:写一个 DNS 服务器
实际上主要的思路就是选取一个幸运域名拦截,其他的正常转发给正常 DNS 服务器获取 IP 地址。
1 |
|
Task 2
使用在线工具 rbndr.us dns rebinding service 即可。
分析所给的 Python 服务端程序,代码在 safe_request_url()
函数中先调用一次 check_ssrf()
,之后在 requests.get()
调用时设置的 hook 中再调用一次 check_ssrf()
。这两次检查时 DNS 都应当返回一个外网地址,在真正发送请求的时候 DNS 解析到 127.0.0.1
就可以实现 getflag。
1 |
|
实际上 Hint 中提到已经修复的非预期还可以利用
1curl http://10.214.160.13:10011/http://0.0.0.0:9999/flag
AAA CTF101 安全攻防实践短学期 Web Lab 1
https://heap.45gfg9.net/t/ZJU/2023-CTF101/79c3b32f30d4/