2018-M03 - MITM (短篇)
> 已知用火 II
## 前言 ##
最近写了一个新的爬虫
因为目标网站在 Web 端没有开放内容 只有手机端才可以看
但是手机端又走 HTTPS 不想为了他来逆向 iOS APP
所以用 MITM 的方式来看发了哪些 HTTP requests
## 内容 ##
MITM[0] 是一种攻击方式:透过拦截双方通讯并窃取、窜改其中的内容
在 HTTPS[1] 的世界中 假设在不安全的网络环境中建立一个安全通道
使用 HTTPS 需要满足一些假设
- Client 端正确实作 HTTPS 并信任 CA[2] 颁发的凭证
- 信任 CA 仅颁发合法的网站
- Server 使用一个有效 CA 颁发的凭证
- 凭证正确验证 Server
- 使用的加密技术是可被信任
因此如果需要在 HTTPS 环境中进行 MITM 攻击 就需要违反其中的假设
小品的 MITM 简单操作就是在受害者装置中:1) 安装恶意 root CA 凭证 2) 使用 proxy
透过 mitmproxy[3] 就可以简单架设一个窃取 HTTPS 的 MITM 环境
## 相关资料 ##
- Lenovo 笔电默认安装 root CA 凭证[4]
- 企业监听HTTPS传输协定存在风险[5]
- CVE-2017-3898[6]
[0]: https://en.wikipedia.org/wiki/Man-in-the-middle_attack
[1]: https://en.wikipedia.org/wiki/HTTPS
[2]: https://en.wikipedia.org/wiki/Certificate_authority
[3]: https://mitmproxy.org/
[4]: https://www.ithome.com.tw/news/94193
[5]: http://www.nccst.nat.gov.tw/NewsRSSDetail?seq=15941
[6]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3898