该文转自ichunqiu论坛。
0x00 起因 前言:burpsuit是一个渗透利器,相信各位大表哥们或多或少使用过它来抓包。http抓包是很简单的,https抓包的话,就多了证书信任的问题。 因为在劫持https通信的时候,证书会变成burp的证书,原网站的证书出现问题,我们又不信任burp的证书的时候,浏览器就不能进行下一步的访问了,抓包就没办法继续进行。 所以要抓https的数据包的时候,就是得把证书导入到浏览器的“信任目录”,注意是”信任目录“,而不是单纯的导入到浏览器。 https&&ssl 为了提高网站的安全性,一般会在比较敏感的部分页面采用https传输,比如注册、登录、控制台等。像Gmail、网银、icloud等则全部采用https传输。https/ssl主要起到两个作用:网站认证、内容加密传输和数据一致性。经CA签发的证书才起到认证可信的作用,所有有效证书均可以起到加密传输的作用。 数字证书 主要在互联网上的用于身份验证的用途。 安全站点在获得CA(Certificate Authority数字证书认证机构)认证后,获得一个数字证书,以此来标识其合法身份的真实性。数字证书主要分为服务器证书和客户端证书。服务器证书(SSL证书)用来进行身份验证和通信的加密,客户端证书主要用于身份验证和电子签名。找CA申请证书是要收费的。 自签名证书 非CA颁发的证书,通过自签名的方式得到的证书。通常Web浏览器会显示一个对话框,询问您是否希望信任一个自签名证书。这个是不用花钱的。 中间人攻击 是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。在许多情况下这是很简单的。
0x01 环境java 1.7 //注意java的版本不能过高,也就是不能是1.8,具体原因不太清楚,如果是1.8的话,导出的证书会是0字节 burp1.6 pro破解版 firefox 浏览器
autoproxy //火狐插件
安卓抓包:夜神模拟器 0x02 设置
打开burp设置代理 <ignore_js_op> <ignore_js_op>
将本机ip的8080端口设置为代理,因为待会要在安卓模拟器上抓包,所以不能是127.0.0.1这种环回地址。3处的ip必须和cmd下的ipconfig的地址一样。 浏览器设置 //在电脑本地抓https 安装完autoproxy后编辑代理服务器,添加一个8080的代理。 首选项-->代理服务器-->编辑代理服务器 <ignore_js_op> 设置完后将浏览器,全局代理。将默认代理选为刚刚设置的代理,点击两下让福字变绿。 访问http://burp/ 下载证书,此处的证书是der的格式,安卓不识别,在浏览器导入证书然后再导出为cer格式的证书。 <ignore_js_op> 以火狐为例,打开选项-->高级-->证书-->查看证书-->服务器-->导入 选择刚刚的caret.der
记得把红框勾掉,本人因为没有勾掉,证书一直不被信任,这是一个细节坑。//到了此步,如果证书信任的话,电脑已经可以抓https了 导出证书:选项-->高级-->查看证书-->服务器-->选择刚刚导入的证书 -->导出
<ignore_js_op> 会得到一个PortSwigger.cer.将他拖到我们的安卓模拟器之中。直接拖着文件到夜神模拟器窗口就行了。它会自动上传到模拟器的
<ignore_js_op> 这是证书位置,接下来设置安卓信任burp证书,设置-->安全-->从sd卡安装 找到上面的证书选择安装就行了。 <ignore_js_op> 设置-->安全-->受信任的凭据-->用户 看到PortSwigger就代表导入并信任成功。 设置安卓wifi代理,设置-->WLAN-->左键长按链接到的wifi-->修改网络-->高级-->代理-->手动-->把刚刚设置burp代理设置上 例如我就是上面的127.25.28.240 端口8080 设置成功后试一下抓包看看。 <ignore_js_op> 成功! //这里因为我之前尝试过了,在第一次抓包的时候会提示证书有问题,选择添加例外就行了 |