burp怎么抓包

Burp Suite抓包,抓包说白了就是抓包当个中间人。你浏览器发的抓包请求,先经过它,抓包它记下来,抓包再转发给服务器。抓包服务器返回的抓包数据,也先经过它,抓包它再转给你。抓包就这么简单。抓包但越是抓包简单的事,越容易在细节上卡壳。抓包

打开Burp,抓包默认是抓包英文界面。别慌,抓包先看顶部菜单栏,找到Proxy(代理)这个标签。点进去,下面有个子标签叫Intercept(拦截)。你会看到一个大大的开关,写着Intercept is on。这个开关控制着是否暂停流量。如果你开着它,那么你浏览器任何请求发出去,都会卡在Burp这里,不会到达服务器。屏幕上会出现一堆乱糟糟的代码,那就是HTTP请求的原始数据包。

但这时候你直接打开浏览器访问网站,大概率是抓不到包的。为什么?因为Burp默认监听的是本地127.0.0.1的8080端口,而你浏览器根本不知道要往这个端口发数据。你得手动告诉浏览器:嘿,你所有流量都先走这个代理。以Chrome为例,设置里搜索“代理”,打开系统代理设置,手动填上地址127.0.0.1,端口8080。Firefox更简单,直接在选项里找到网络设置,配置代理就行。这一步做完,你再去访问网页,Burp的Intercept面板里就会开始蹦数据了。

这里有个坑。很多新手配好代理后,发现浏览器直接报错“无法连接”。八成是你Burp的Intercept开关还开着,流量被卡住了,但你又没盯着Burp的界面看。解决办法很简单——要么把Intercept点成off,让流量自动放行;要么每次看到浏览器转圈,就切到Burp点一下Forward(放行)按钮。我个人习惯是直接关掉拦截,让流量在HTTP History里自动记录,需要改包的时候再临时打开。

光能看还不够,你得会改。比如你想改个请求参数测试SQL注入,就在Intercept开着的时候,直接在代码区域里找到那个参数值,改成你想要的payload,然后点Forward。服务器收到的就是你篡改后的请求。这个操作是Burp的核心玩法,渗透测试里一半以上的时间都在干这个。

再说一个容易忽略的点。有时候你抓到了包,但全是乱码或者显示不完整。别急着怀疑软件坏了,先看看右下角的搜索框旁边,有个选项叫“Show only in-scope items”或者类似的过滤条件。如果你之前设置过scope(作用域),Burp会自动过滤掉不在范围内的域名。新手经常误开这个开关,导致只能看到部分流量,还以为是抓包不完整。把过滤条件清空,所有流量就都出来了。

最后提一句,抓HTTPS的包需要安装Burp的CA证书。第一次抓百度、知乎这类https网站时,你会看到一堆看不懂的加密数据,其实就是没装证书。浏览器访问http://burp,下载CA证书,安装到系统受信任的根证书颁发机构里,重启浏览器,就能看到明文了。这一步不做,你抓的https包全是天书,毫无用处。

工具本身不复杂,复杂的是你遇没遇到过那些让你怀疑人生的细节。抓包这事,多抓几次就上手了。