burpsuite原理

一、burpsuite原理

BurpSuite的基本原理是搭配浏览器使用的http代理。与一般的HTTP代理原理相同。HTTPS协议,即经过SSL加密后的安全HTTP协议,BurpSuite需要发起“中间人攻击”以获得HTTP消息明文。具体原理如下:

无BurpSuite的HTTPS交互过程

Client                          Server  

  | -----HTTPS(TCP443) Req------> |

  | <----- Certificate -----------|

BurpSuite的基本思路是伪装成目标https服务器,让浏览器(client)相信BurpSuite就是目标站点。为了达成目标,BurpSuite必须:(1)生成一对公私钥,并将公钥和目标域名绑定并封装为证书;(2)让浏览器相信此证书,即通过证书验证。所以, BurpSuite需要在操作系统添加一个根证书,这个根证书可以让浏览器信任所有BurpSuite颁发的证书。之后,BurpSuite拥有了两套对称密钥,一套用于与client交互,另外一套与server交互,而在BurpSuite处可以获得https明文。

用BurpSuite的HTTPS交互过程

Client         BurpSuite                          Server

|-----https(tcp 443) req------> |

              Generate an certificate1 bound

                 with the target domain

|<------ -certificate1---------->|

|<-------SSL negotiation-------->|

|<-----security connection------>|

                                 | -------https(tcp 443) req------->|

                                 |<-------certificate2------------->|

                                 |<----------SSL connection-------->|

                                 |<-------security connection------>|