Burpsuite模块的使用
- 1、Target(目标):
- 2、Proxy(代理):
- 3、Spider(抓取):
- 4、canner(扫描器)
- 5、Intruder(入侵)
- 6、Repeater(中继器)
- 7、Sequencer(定续器)
- 8、Decoder(解码)
- 9、Comparer(比较器)
- 10、Extender(扩展)
Burpsuite是Web应用程序测试的最佳工具之一,用于攻击web应用程序的集成平台,包含许多工具;能处理对应的HTTP消息、持久性、认证、代理、日志、警报。Burpsuite不想其他自动化测试工具不需要输入任何内容即可完成测试,而需要手动的配置某些参数才能触发对应的行为才会完成测试。
以下是他的几个模块:
Burpsuite具体模块及其功能
Target(目标):渗透测试的目标URL。
Proxy(代理):Burp使用代理,默认端口为8080,使用此代理,我们可以截获并修改从客户端到Web应用程序的数据包。
Spider(抓取):其功能是用来抓取Web应用程序的链接和内容等,它可以扫描出网站上的所有链接,通过这些链接的详细扫描来发现Web应用程序的漏洞。
Scanner(扫描器):主要用来扫描Web应用程序的漏洞。
Intruder(入侵):此模块有多种功能,如漏洞利用,Web应用程序模糊测试,暴力破解等。
Repeater(中继器):重放,用来模拟数据包的请求与响应过程。
Sequencer:此功能主要用来检查Web应用程序提供的会话令牌的随机性,并执行各种测试。
Decoder(解码):解码和编码。
Comparer(比较):比较数据包之间的异同。
Extender(扩展):Burp的一些高级功能。
Options(选项):Burp通用设置选项。
Alerts(警告):Burp的一些状态提示。
1、Target(目标):
Target目标模块用于生成站点地图(sitemap),以目录树的形式显示被抓取的URL。设置作用域(scope),生成安全分析。
1.1 sitemap介绍
使用proxy抓取一些信息之后,会在target模块中生成站点信息。左边信息栏中,会根据proxy模块信息和被动爬虫信息,自动生成一个站点地图,以树状结构表示该站点的不完整的简单目录结构。中间是访问过的网站链接,下面可以查看网站的会话内容,左边的安全提示和安全建议会在使用其他模块后生成。
1.2 scope介绍
收集信息的时候,如果只像收集某个固定站点和其子域的信息,不想让爬虫去爬到其他无用信息,可以使用作用域。主要是配合sitemap做一些过滤的功能。
1、只想查看某个网站的信息,可以将其添加到scope(范围,区域)中,选中要添加scope的URL----右键Add to scope—点击上方的Filter showing all items—勾选show only in-scope items —单击空白位置即可筛选出结果。
这个操作将会在Target工具中的Scope中生成一条正则表达式。
2、也可以从所有的URL中筛选带有参数的网址,这样可以实现代码层面的攻击,如SQL注入等。
3、也可以通过关键字来搜索,如以下搜索dvwa。
4、在审计过程中,可以将所需要的URL进行高亮显示,通过筛选器将高亮标记的URL筛选出来。
5、可以向某个URL添加注释(comment),通过筛选将其选择出来.
2、Proxy(代理):
代理是burpsuite以用户驱动测试流程功能的核心,通过代理模式,可以让我们拦截、查看、修改所有在客户端和服务端之间传输的数据。
2.1 Intercept介绍
Forword:表示将截断的HTTP或HTTPS请求发送到服务器。
Drop:表示将截断的HTTP或HTTPS请求丢弃。
Intercept is on 或off:表示开启或关闭代理截断功能。如果按钮显示Interceptionis On,表示请求和响应将被拦截或自动转发根据配置的拦截规则配置代理选项。如果按钮显示Interception is off则显示拦截之后的所有信息将自动转发。
Action:表示将截断的HTTP或HTTPS请求发送到其他模块或做其他处理。
对Intercept切换查看不同的数据格式:
Raw:这里显示的是纯文本形式的消息。在文本窗口的底部提供了一个搜索和加亮功能,可以用它来快速地定位出消息中的感兴趣的字符串,如错误消息。在搜索的左边有一个弹出项,让你来处理大小写问题,以及是使用简单的文本搜索还是正则表达搜索。
Hex:对包含参数(URL 查询字符串,cookies 消息头,或消息体)的请求,这个选项可以把参数分析成名称/值的组合,并且允许你能简单地查看和修改。
Rarams:这里以名称/值的组合来显示 HTTP 的消息头,并且还以原始的形式显示消息体。
Header:这里允许你直接编辑消息的原始二进制数据。如果在文本编辑器里修改,某些传输类型(例如,使用 MIME 编码的浏览器请求的部分)包含的二进制数据可能被损坏。为了修改这些类型的消息,应使用十六进制。
2.2 HTTP history介绍
HTTP history用来查看提交国的HTTP请求。
Filter可以过滤显示某些HTTP请求。点击Filter就可以打开,对于制定url可以选中右键点击,执行其他操作。Websockets histroy与其功能类似。
2.3 Options介绍
Options具有功能:代理监听设置、截断客户端请求、截断服务器响应、截断websocket通信、服务端响应修改(绕过js验证文件上传)、匹配与替换HTTP消息中的信息、通过SSL连接web服务器配置、其他配置选项。
通过设置Proxy Listebers来截断数据流量,比如设置监听端口等。
通过设置intercept client requests来截取符合条件的HTTP请求(自上而下开始匹配)。可点击edit进行修改。以下类似。
3、Spider(抓取):
Spider主要适用于大型的应用系统测试,他能在和短时间内帮助我们快速的了解系统结构和分布情况。spider用来映射Web应用程序,他会自动抓取Web应用程序的链接,自动提交它发现的所有登陆表单,从而详细的分析整个应用程序,这些链接会传递给Burp Scanner进行详细的扫描。
3.1 Control介绍
3.2 options介绍
可选项设置由抓取设置、抓取代理设置、表单提交设置(用来匹配和自动提交表单内容)、应用登录设置、蜘蛛引擎设置、请求消息头设置等六部分组成。
被动抓取,不与服务器发生交互。
4、canner(扫描器)
Scanner功能主要用来自动检测web系统的各种漏洞,我们可以使用burp scanner代替我们手工去对系统进行普遍漏洞类型的渗透测试,从而能使得我们把更多的精力放在那些必须要人工去验证的漏洞上。
使用scanner模块之前,首先使用proxy模块,拦截请求,得到目标域名,然后将目标域名添加到scope中,关闭proxy拦截功能,开启spider模块。完成域名的详细目录信息之后就可以开始扫描功能了。
4.1 Issue actively介绍
查看扫描到的漏洞具体信息,可以对内容进行自定义标记,导出报告等。
4.2 Scan queue介绍
显示扫描进度的详情,可以显示漏洞详细,重新扫描,暂停扫描。将扫描信息发送至其他模块。
4.3 Live scanning介绍
Burp Sutie提供三种漏洞扫描方式,默认被动扫描,被动扫描(Live Passive Scanning),主动扫描(Live Active Scanning)。
默认被动扫描:不需要开启,当你在爬取网页时,scanner会自动进行,可以探测出简单少量的信息。
被动扫描:在你需要扫描的网站上右键,点击发送到被动扫描模块。被动扫描只会根据爬虫获得的内容上进行分析,不会重新对域名进行请求攻击,可以得到比较具体的信息。当服务器正在运作时,可以使用该方式扫描,不会对网站造成损害。该方式精准度低于主动扫描,但是时间短,消耗资源小,影响小。
主动扫描:主动扫描会向得到的所有域名,发起大量带有攻击探测信息的请求,可以获得精准性高且详细的信息。但是会对目标站点造成较大影响,所用时间和资源也较多。适合在网站离线时做测试。在Scan queue中查看主动扫描的进度。
4.4 Issue definitions介绍
包含可以被SurpSuite探测到的漏洞详情。
4.5 Options介绍
设置扫描的规则选项、设置攻击插入点,检测敏感字段。设置扫描的引擎,设置主动和被动扫描的选项。
5、Intruder(入侵)
Intruder模块是一个定制的高度可配置的工具,对web应用程序进行自动化攻击,如:枚举标识符,收集有用的数据,以及使用fuzzing 技术探测常规漏洞。
5.1 Attack Target介绍
配置这些详细信息的最简单方法是选择要在Burp Suite中攻击任何地方的请求,并在上下文菜单上选择“Send to Intruder”选项。这将把所选的请求发送到Intruder中的新选项卡,并自动填充目标和位置选项卡。
5.2 positions介绍
此选项卡用于配置攻击的请求模板、有效负载标记和攻击类型(确定有效负载分配到有效负载位置的方式)。
每对标记 ‘$’ 指示一个Payload位置。一对标记可以选择性地将模板请求中的一些文本括在它们之间。当有效载荷位置被分配了Payload时,标记和任何包含的文本都将被Payload替换。当有效载荷位置没有指定的Payload时,标记将被移除,但所附文本保持不变。
为了简化配置,Intruder模块会自动突出显示每对有效负载标记以及它们之间的任何封闭文本。您可以手动或自动放置有效负载标记。当您从Burp Suite中的其他模块向Intruder模块发送请求时,会猜测您可能想要放置有效负载的位置,并相应地设置有效负载标记。您可以使用请求模板编辑器旁边的按钮修改默认负载标记:
按钮 解释
Add § 如果未选择文本,则在光标位置插入一个有效载荷标记。如果选择了某些文本,则会插入一对标记,将选定文本括起来。
Clear § 这将从整个模板或模板的选定部分删除所有位置标记。
Auto § 这使得猜测在哪里可能有助于定位有效载荷,并相应地放置有效载荷标记。这有助于快速标记适合模糊化的位置,但对于更为自定义的攻击,需要手动定位。如果您选择了一些文本,则标记仅放置在所选文本中;否则,标记将放置在整个请求模板中。标记的自动放置将有效负载放入各种类型的请求参数的值中,包括:URL查询字符串参数,Body parameters,Cookies,多部分参数属性(例如文件上载中的文件名),XML数据和元素属性,JSON参数。
Refresh 这将刷新请求模板编辑器的语法着色(如果需要)。
Clear 这将删除整个请求模板。
5.3 payloads介绍
此选项卡用于配置一个或多个负载集。Payload集的数量取决于Positions(位置)选项卡中定义的Attack type(攻击类型)。对于许多常见的任务,例如模糊参数、强制猜测用户密码或循环访问页面标识符,只需要一个有效负载集。
Payload set: 指定需要配置的变量;
Payload type : Payload类型
类型 解释
Simple list 简单字典
Runtime file 运行文件
Custom iterator 自定义迭代器
Character substitution 字符替换
Recursive grep 递归查找
Illegal Unicode 非法字典
Character blocks 字符快
Numbers 数组组合
Dates 日期组合
Brute forcer 暴力破解
Null payloads 空Payload
Username generator 用户名生成
Copy other payload 复制其他Payload
6、Repeater(中继器)
Burp Repeater 是一个手动修改并补发个别 HTTP 请求,并分析他们的响应的工具。它最大的用途就是和其他 Burp Suite 工具结合起来。你可以从目标站点地图,从 Burp Proxy 浏览记录,或者从 Burp Intruder 攻击结果上的请求,发送到 Repeater 上,并手动调整这个请求来微调对漏洞的探测或攻击。
1.可以从Proxy history、site map、Scanner等模块中右键菜单send to repeater发送到repeater,对页面数据进行修改发送。
2.点击go,发送请求,右边响应请求。
3.可以通过“<“和”>“来返回上一次和下一个操作。
4.单击”x“可以删除当前测试请求页面。
5.底部的功能用于搜索条件,可以用正则表达式,底部右边显示匹配结果数。
该模块的设置在菜单栏 Repeater中,主要选项如下:
7、Sequencer(定续器)
Burp Sequencer是一种用于分析数据项的一个样本中的随机性质量的工具。你可以用它来测试应用程序的session tokens(会话tokens)或其他重要数据项的本意是不可预测的,比如反弹CSRF tokens,密码重置tokens等。
7.1 Live capture 信息截取介绍
选项1:Select Live Capture Request
选项2:Token Location Within Response
选项3:Live Capture Options
7.2 Manual load 手动加载介绍
7.3 Analysis options 选项分析介绍
选项1:Token Handling 令牌处理
选项2:Token Analysis 令牌分析
8、Decoder(解码)
Burp Decoder是Burp Suite中一款编码解码工具,将原始数据转换成各种编码和哈希表的简单工具,它能够智能地识别多种编码格式采用启发式技术。
9、Comparer(比较器)
Burp Comparer在Burp Suite中主要提供一个可视化的差异比对功能,来对比分析两次数据之间的区别。
使用中的场景可能是:
1.枚举用户名过程中,对比分析登陆成功和失败时,服务器端反馈结果的区别。
2.使用 Intruder 进行攻击时,对于不同的服务器端响应,可以很快的分析出两次响应的区别在哪里。
3.进行SQL注入的盲注测试时,比较两次响应消息的差异,判断响应结果与注入条件的关联关系。
如果点击了【words】或者【bytes】,则进入比对界面,页面自动通过背景颜色显示数据的差异。
10、Extender(扩展)
Burp在软件中提供了支持第三方拓展插件的功能,方便使用者编写自己的自定义插件或从插件商店中安装拓展插件。Burp扩展程序可以以多种方式支持自定义Burp的行为,例如:修改HTTP请求和响应,自定义UI,添加自定义扫描程序检查以及访问关键运行时信息,包括代理历史记录,目标站点地图和扫描程序问题等。