欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

利用fiddler 截获微信传输数据 (方便抓取公众号信息)

前言:本文章是搭配《批量获取微信公众号》一文,介于群里朋友很热情,我就趁着上班测完bug 来撰写该文章,那么读完本文,你会学习到什么呢?

  1. 什么是fiddler,他和其他抓包软件有什么区别,如何使用fiddler进行抓包

  2. 如何利用fiddler抓取https 的流量,如何安装证书

  3. 实战:利用fiddler配合按键精灵批量刷微信公众号的文章页(经测试语音也可以)

好的,小葵花妈妈咳咳 我们开课了。。。

0x01 初识fiddler

我不了解看我文章的读者是什么水平,反正我记得当年黑客X档案08还是09有一个上传漏洞 用到的就是抓包改包然后菜刀提交。。。当时惊呆了小伙伴,那么当时的抓包工具是什么呢,

Wireshark

qq%e6%88%aa%e5%9b%be20160913193525

 

对就是这货,比较强大,按照网络七层协议这个抓包能抓到数据链路层、网络层(network layer)、传输层或应用层(application layer)

比几年前见到的好用多了 还可以自带抓取电话啊 无线啊 想想就他喵的激动

qq%e6%88%aa%e5%9b%be20160913193935

既然这个屌玩儿这么强大我们为啥还用fiddler,额 就是因为太强大 所以会让我们看到一些很杂乱的东西 比如SYN三次握手什么的,UDP流量啊 QQ消息啊。。。。额就当我没说吧

那这个fiddler能干嘛 很简单 他的protocol 就能让他搞http协议 当然包含https什么的 我们这些弄爬虫的 通信的 和网页打交道 就这个就行了,没必要泡方便面还要法式厨房。

qq%e6%88%aa%e5%9b%be20160913194442

这个时候这个屌玩儿就可以http报文了

他如何实现的呢 他是修改你IE本地浏览器设置,

qq%e6%88%aa%e5%9b%be20160913195020

让所有本地HTTP流量经过他的代理相当于自己搭建了一台代理服务器,但是如果想要做https代理 那么我们还需要做一点小小的设置。

0x02 小小的设置

没错 正如你看到的很多fiddler教程一样,我也要开始教你怎么样设置了

也许你没有很多关于MITM的知识,不好意思 关我屁事 没学过还他喵的嘚瑟不去Google!!!!!!

啥?你说要给钱==好嘞,大爷我这就给您讲,记得好评哦

要抓取走 HTTPS 的 JS 内容,Fiddler 必须解密 HTTPS 流量。但是,浏览器将会检查数字证书,并发现会话遭到窃听。为了骗过浏览器,Fiddler 通过使用另一个数字证书重新加密 HTTPS 流量。Fiddler 被配置为解密 HTTPS 流量后,会自动生成一个名为 DO_NOT_TRUST_FiddlerRoot 的 CA 证书,并使用该 CA 颁发每个域名的 TLS 证书。若 DO_NOT_TRUST_FiddlerRoot 证书被列入浏览器或其他软件的信任 CA 名单内,则浏览器或其他软件就会认为 HTTPS 会话是可信任的、而不会再弹出“证书错误”警告。

好吧我承认我很懒上面一段是抄别人的,不过我先声明 在MITM环境下没有任何情况是安全的。(这不是量子通信还没实现不是喵)

你懂这个原理以后我们开始操刀设置fiddler

首先,打开 Fiddler,在菜单栏中依次选择 【Tools】->【Fiddler Options】->【HTTPS】,勾上如下图的选项。

1473776558-3722-20151124210753687-177921438

勾上后,Fiddler 会提示你安装一个证书。安装完后点击上图中的 “Export Root..” 按钮,将证书下载到桌面。

又是抄别人的教程是吧,我的咋没有 export root certificate to desktop 对 我也是这样想的,为啥你们高级啊 我的从官网上最新版本都没有,我想说的是别急,听我慢慢道来。

如果这个时候我们不管他 本地是绝对不会安装证书的,到时候就会抱一个傻逼错误叫做

Fiddler “creation of the root certificate was not successful”

这个需要我们手动安装

如何安装呢

简单,在fiddler目录下有一个makecert.exe

你在这个建一个bat脚本 输入以下命令就好,返回成功就不要运行第二次了,运行第二次他妈的后面又有问题,你要删除多余证书,真他妈傻逼。

makecert.exe -r -ss my -n “CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com” -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012

如果我们要监听手机app

怎么办 简单,我笔记本开一个热点,然后手机连接上热点,那么笔记本就和手机同处一个局域网,然后让手机访问你的电脑局域网IP

怎么看呢 ipconfig 谢谢

比如查到的ip为192.168.xx.38

那么你手机浏览器访问的就是192.168.xx.38:8888

1473776559-4957-201502

(如果你的手机安卓没有设置手势密码什么的是不行的)

然后安装一个证书就可以愉快的被窃听https流量了

0x03 实战微信公众号的爬取

让我们用按键精灵打开微信公众号

我们可以看到成功抓取我们想要的数据qq%e6%88%aa%e5%9b%be20160913220954

但是这时候我们会考虑如果我想把这些请求生成一个txt多好,我的Python或者java直接读取其中的key 那不是美了美了醉了醉了的感觉么,我也是这么想的,怎么做呢,简单

看到菜单了么 选择rules 那个 customs rules那个选项,如果先让你安装一个你就先安装 然后重启一下进入到如图所示的界面

qq%e6%88%aa%e5%9b%be20160913221208

保存Request

(代码已经修正空格,可以复制了,如果你发现有任何错误请及时与我联系 QQ:1027968932)

把下面代码贴在OnBeforeRequest()方法末尾

保存Response

把下面代码贴在OnBeforeResponse()方法末尾

这里感谢Heiniu提供的方法,我已经捐赠一点心意作为答谢,这里也希望能够让更多人看到你的代码,在这里表示感谢。

为了避免有些傻吊以前没搞过什么函数式编程 把上面的代码粘贴错了 或者大括号搞丢了

我给你一个图

依葫芦画瓢总行了吧

qq%e6%88%aa%e5%9b%be20160914091719

以上,如果觉得我的创作对你有用,记得点击喜欢或者评论哦 打钱也是再好不过啦嘿嘿嘿~


来自 https://blog.csdn.net/lhorse003/article/details/72473212

普通分类: