引言
上一篇Task1.1中利用浏览器进行抓包的方式有一定的局限性:
例如Google的开发者工具无法直接对请求进行编辑重发,需要通过Copy as fetch/powershell的方式间接实现
火狐浏览器可以直接对请求进行编辑,但无法做到本地保存(好像)。尤其当我们想要抓取移动设备数据包时,浏览器抓包更无法实现。
因此我们需要一款抓包工具,常用的是Burpsuite,Burp的教程有很多,实际上手也比较简单,具体可以参考这篇 链接: Burpsuite实战指南.
Zap也可以进行抓包分析(虽然用的不习惯所以不是很顺手),下面分别用Burp和Zap抓取中国天气网和腾讯天气的数据包进行分析
Burp抓包分析(中国天气网)
关于Burp抓包的一系列设置(端口设置,浏览器代理设置,证书导入)网上已经有很多教程,我们开启代理,用Burp拦截请求,抓到的数据包很多
emmm上一篇我们已经分析过,获取城市天气情况的API接口前缀为http://d1.weather.com.cn,因此我们可以在Burp中进行一下过滤,先在Target中对过滤域名进行设置
之后在Proxy中应用过滤规则
这样我们过滤后的数据包就只限定在http://d1.weather.com.cn前缀下,一个个查看响应,对API接口进行高亮标记
选中一个右键发送给repeater,然后在repeater中编辑请求,修改城市代码之后进行重发,得到响应即可
Zap抓包分析(腾讯天气)
首先还是设置端口,代理,加载证书,之后打开代理直接抓包,history中得到一系列记录
过滤 https://www.baidu.com/ 前缀下的所有端口(工具-选项-Global Exclude URL下面,添加正则表达式 ^https?: //www.baidu.com/.*$ )
经过观察过滤之后的端口,我们找到该网站获取城市天气所用的API接口
注意province和city字段,该URL编码采用utf8编码方式,我们放到在线网站中解码(非常好用的在线解码网站,CTFer MISC解码没思路的时候总用它hhh http://ctf.ssleye.com/)
之后我们转换出河南 新乡的编码,从而对请求进行编辑重发
得到响应,响应报文中有乱码,应该是编码设置的问题,不过我找了好久都没找到编码设置在哪…软件好像也比较小众,百度没找到什么有用结果,果然还是不如Burp顺手
把响应复制到word中查看,天气状况为良
利用抓包工具抓取移动设备数据包
我们需要先进行一些设置,移动设备抓包的前提是 PC和移动设备处于同一wifi下,此时我们可以查看PC设备IP地址,然后将Burp代理地址 或者ZAP代理地址 设置为该IP(以Burp设置为例)
然后在移动设备的wifi设置中开启代理,代理地址与端口 Burp设置的相同
随后我们从Burp中导出证书,证书后缀为cer(der只能安装在PC端),然后在移动设备上安装证书,用途选为wifi
之后再Burp中启用端口,开启拦截,抓取到数据包(其中有qq的加密数据包,有微信小程序的http数据包等)
ZAP的移动设备抓包同理