前言
从 Web 安全的攻击防御方面来说,最多接触的应该就是 Http 协议了,当我们作为中间人(man-in-the-middle)查看到所有浏览器到 web 服务器的 http 报文的时候,一切就都有意思起来。
比如,分析某电商在交易支付的时候请求了哪些东西,分析某网站的登录流程都请求了哪些数据,分析某社交软件有没有偷偷的上传隐私数据等等,甚至可以拿到 Https 加密过的请求哦!
如果我是黑客,分析过后也许就会通过工具篡改伪造请求报文,欺骗服务器,从而实现某些恶意行为,比如撞库、刷单、撸羊毛、恶意爬虫爬取数据等等。
那么,如何快速有效的抓取 http 数据包并进行分析呢,这里推荐一个跨平台抓包神器— Charles。
charles 是一个图形界面可视化的代理形式(HTTP,SOCKS,SSL/HTTPS)的抓包工具,它提供对 HTTP,SSL/HTTPS 协议下通过同一个路由器下的设备的数据交流分析,包括各种HTTP请求和响应信息,charles 目前只支持抓到部分 socket 的数据。
安装配置
http://www.charlesproxy.com/download/
charles 需求 java 环境,并且为收费工具,试用版每30分钟将会关闭。
charles 提供透明代理功能,当安装配置对象为网关服务器时,菜单处 proxy->proxy setting 勾选 HTTP 代理,勾选enabletransparent HTTP proxying 选项即可。