渗透工具Burp Suite浅析

Burp suite是一款Web安全领域的跨平台工具,基于Java开发。它集成了很多用于发现常见Web漏洞的模块,如Proxy,Spider,Scanner,Intruder,Repeater等。所有的模块共享一个能处理并显示HTTP消息的框架。

Proxy 代理模块

这是Burp的核心模块。首先我们要理解一个概念,我们访问一个网站的时候,客户端会向服务器发送请求数据包。在这个过程中,它会先检查是否设置了Proxy代理信息,如果没有的话,数据包就会被发送至服务器。但是如果我们设置了代理服务器,这个数据包信息就会被拦截下来。

客户端的处理流程

而在代理服务器中,它收到了客户端发送的HTTP请求,它会将数据包解析,我们可以在代理服务器上对这些数据进行处理,处理完后发送给目标服务器。Burp的Proxy代理模块承担的就是代理服务器的作用。

代理服务器的处理流程

配置代理

Proxy->Options->Proxy Listeners->Add添加代理

Bind to port表示监听端口号

Bind to address设置中,Loopback only表示本机使用,All interfaces表示局域网内的设备使用代理。

Proxy->Intercept中进行抓包分析

HTTP请求报文

HTTP请求报文可以分成5部分:

HTTP主要头字段

头字段类型 含义
Host 接受请求的服务器IP地址和端口号
User-Agent 客户端软件的名称和版本号等相关信息
Accept 客户端可支持的数据类型(Content-Type),以MIME类型来表示
Accept-Language 客户端可支持的语言
Accept-Encoding 客户端可支持的编码格式(Content-Encoding),一般表示数据的压缩格式
Content-Type 表示消息体的数据类型,以MIME规格定义的数据类型来表示
Content-Length 表示消息体的长度
Origin 用来说明请求从哪里发起的,仅包括协议和域名
Connection 设置发送响应之后TCP连接是否继续保持的通信选项
Referer 告诉服务器该网页是从哪个页面链接过来的
Cookie 一段保存用户访问记录足迹等个人信息的字符串
X-Forwarded-For HTTP 请求端真实 IP
一个好用的代理插件:SwitchyOmega

Repeater 重放模块

一般在抓到数据包后,我们可以对数据包的信息进行修改并重新发送,就可以用到Repeater模块。

Raw

Proxy->右键Send to Repeater将截获的数据包发送至Repeater模块。在这个模块中,左边为将要发送的原始HTTP请求,右边为服务器返回的数据,在左边对数据包进行修改,测试payload,修改完成之后点击Go按钮,右侧就可以收到服务器的响应。

Headers

方便添加HTTP头信息,避免手动修改HTTP头时产生的格式问题,比如对于检查IP地址的题目,就可以在这里添加X-Forwarded-For头进行绕过。

Hex

修改HTTP数据包的十六进制编码,比如文件上传时截断后缀,对WAF进行模糊测试,上传Webshell等等。

Intruder 破解模块

爆破是一种低成本但是可能带来高回报的方式,Burp中提供了简单易用的Intruder模块来进行爆破

Attack type

  • Sniper(狙击手)

    一一对应爆破。一个参数,500个payload,就执行500次;两个参数,500个payload,就执行1000次。

  • Battering ram(攻城锤)

    共同对应爆破。一个参数,500个payload,和上面一样执行500次;两个参数,500个payload,也只执行500次,两个参数一起换。

  • Pitchfork(草叉模式)

    一一对应爆破。至少有两个参数,每一个payload都应该有参数数量的值,如用户名密码撞库攻击。

  • Cluster bomb(集束炸弹)

    排列组合爆破。至少有两个参数,将所有的payload进行排列组合爆破

payloads

  • Payload Sets

    Payload set:爆破参数个数

    payload type:爆破参数类型

  • Payload Options[]

    会根据爆破参数类型的不同而改变,设置字典

  • Payload Processing

    对生成的Payload进行编码、加密、截取等操作

  • Payload Encoding

    对payload中的部分字符进行URL编码,进行安全传输

Options

主要对Request Engine中的参数进行设置。

  • Number of threads:线程数量
  • Number of retires on network failure:网络连接失败时的重连次数。
  • Pause before retry:每次重传前的暂停时间。
  • Throttle:调节数据包发送速度的选项。
  • Start time:开始时间。

Decoder 解码模块

这个当中是一些编码和解码工具,可以方便地对需要地数据进行编码和解码,而且支持用文本格式或十六进制模式进行查看。

Comparer 比较模块

在某些注入Bool盲注地正确或错误回显的题目中,有时候两次数据包之间的差别很小,通过比较模块可以很清楚地进行比较。

Scanner 漏洞扫描模块

常用于渗透测试当中,用来自动地发现WEB应用程序的漏洞。

渗透测试常用工具

OWASP ZAP 用来自动检测WEB应用程序的漏洞

Nessus 系统漏洞扫描工具

MSF渗透测试中最重要的漏洞利用框架

posted @ 2020-11-01 19:24  Ephemerally  阅读(255)  评论(0编辑  收藏  举报