1
免责声明
本公众号提供的工具、教程、学习路线、精品文章均为原创或互联网收集,旨在提高网络安全技术水平为目的,只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途,如果您对文章内容有疑问,可以尝试加入交流群讨论或留言私信,如有侵权请联系小编处理。
2
内容速览
概述
Burp Suite 是用于攻击web 应用程序的集成平台,包含了许多工具。
Burp Suite为这些工具设计了许多接口,以加快攻击应用程序的过程。
所有工具都共享一个请求,并能处理对应的HTTP 消息、持久性、认证、代理、日志、警报。
接下来详细介绍一下安装Burpsuite及功能介绍,以WINDOWS平台为例。
工具分享
文末可领取最新版本下载地址
注意:安装路径不能放在中文目录下,否则会run不出来
安装
一、配置JAVA环境
因为burpsuite是在JAVA环境下运行的,所以首先应该先安装和配置好JAVA环境;
安装jdk-8u201-windows-x64
一直点击下一步
配置java环境变量:
右键“计算机”—“属性”—“高级系统配置”
我们需要新建两个环境变量,修改一个环境变量
(1)JAVA_HOME
变量值填写JAVA安装的路径,我的是C:Program FilesJavajdk1.8.0_201
(2)CLASSPATH
变量值填写 .;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar
(3)修改Path变量
(如果是Win7)在其变量值的后面加上;%JAVA_HOME%bin;%JAVA_HOME%jrebin
(如果是win10),path变量是分别添加的:
C:Program FilesJavajdk1.8.0_201binC:Program FilesJavajre1.8.0_201bin (视个人具体安装路径来填)
二、破解安装Burpsuite:
找到burp-loader-keygen.jar文件,双击打开
点击“run”,会弹出一个小框,
如果点了没有反应,点击"运行.bat"
或者,以管理员身份打开CMD命令行界面,切换到当前目录,执行:
代码语言:javascript复制java -Dfile.encoding=utf-8 -javaagent:BurpSuiteCn.jar -Xbootclasspath/p:burp-loader-keygen.jar -Xmx1024m -jar burpsuite_pro_v2.0.11.jar
然后会弹出一个框
将LISENCE中蓝色部分复制粘贴到弹出的框中。
CTRL C复制,CTRL V粘贴,然后点击Next。
点击:Manual activation。(手动激活) 将弹出的小框中第二栏的内容复制粘贴到第二栏中,则会在其第三栏生成一串条文,最后将这串条文复制粘贴到小框的第二个空格即可。
安装完成:
具体连贯操作如下:
(破解实操)
设置浏览器证书
第一步:打开软件
第二步:设置参数
第三步:设置浏览器
IE浏览器代理设置
这里使用Internet Explorer 11
为例,其他版本IE浏览器设置类似。 打开IE浏览器,在右上角工具
中选择Internet选项
,或者在菜单栏选择工具Internet选项
选择连接
–>点击局域网设置
,勾上为LAN使用代理服务器前打勾
,ip输入127.0.0.1
,端口输入8080
chrome浏览器代理设置
这里使用的是google chrome版本 71.0.3578.98(64位版本)
,其他的设置也类似 对于chrome有很多优秀的插件很方便切换代理Falcon Proxy
,Proxy SwitchyOmega
等。 先讲讲不用插件设置的方法。 可以在浏览器url输入框内输入:chrome://settings/
,点击高级
,点击系统
下面的打开代理设置,弹窗出来和IE设置方法一样。其他版本的chrome浏览器
设置代理的按钮位置略有区别。
推荐可以使用的是Falcon Proxy
,配置简单操作方便。
Firefox浏览器代理设置
这里的Firefox
最新版本是64.0.2(32位)
,右上角打开选项
——>网络设置
——>设置
——手动配置代理
——>设置HTTP代理
。 Firefox
也有很多代理插件,大家可以推荐分享。
这里以谷歌为例:使用SwitchyOmega插件
第四步:证书导入
选择一个文件
命名为:cacert.der
就可以正常拦截浏览器数据包了
功能介绍
Burpsuite主要有如下模块/功能:
代码语言:javascript复制 1.Target,显示目标站点目录结构
2.Proxy,是一个拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。
3.Spider,是一个应用智能感应的网络爬虫,它能完整的枚举应用程序的内容和功能。
4.Scanner,是一个高级工具,执行后,它能自动地发现web 应用程序的安全漏洞。
5.Intruder,是一个定制的高度可配置的工具,对web应用程序进行自动化攻击,如:枚举标识符,收集有用的数据,以及使用fuzzing 技术探测常规漏洞。
6.Repeater,是一个靠手动操作来触发单独的HTTP 请求,并分析应用程序响应的工具。
7.Sequencer,是一个用来分析那些不可预知的应用程序会话令牌和重要数据项的随机性的工具。
8.Decoder,是一个进行手动执行或对应用程序数据智能解码编码的工具。
9.Comparer,通常是通过一些相关的请求和响应得到两项数据的一个可视化的“差异”。
10.Extender,可以让你加载Burp Suite的扩展,使用你自己的或第三方代码来扩展Burp Suit的功能。
11.Options,对Burp Suite的一些设置
Proxy(代理)
截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。
proxy代理是burpsuite的一个关键工具,所有的工作都是围绕它来展开的,当我们使用burpsuite时最先打开的也是这个界面。下面这张图片是proxy的主界面
点击options进入proxy配置界面,在这里设置地址和端口。
下面就是设置浏览器端口与地址,这里以Firefox为例。打开菜单>>选项>>网络设置。最后界面是这样的
点击手动代理配置设置里面的http代理地址和端口,地址和端口可以随意设置但要和burp suite的监听端口相同。然后点保存就行了。
如果每次使用都要去修改浏览器的代理未免有点麻烦,所以可以使用firefox上的一个FoxyProxy插件,只要在里面设置好地址和端口,然后我们每次使用时只需要打开那个插件就行了不用去选项里设置。
Intercept
设置好代理之后使用点击Intercept>>Interception is on.点击按钮显示Interception is On开始拦截,Interception is off关闭拦截。
下面是拦截的搜狐上面的一条信息。
Forword
当你编辑信息之后,发送信息到服务器或浏览器。
Drop
当你不想要发送这次信息可以点击drop放弃这个拦截信息
Action
说明一个菜单可用的动作行为操作可以有哪些操作功能。
History
表中显示已通过代理HTTP消息的所有请求,并且可以查看完整的你所做的任何修改和截获的信息的请求和响应。
表中包含以下字段: (请求索引号)、Host(主机)、Method(请求方式)、URL(请求地址)、Params(参数)、Edited(编辑)、Status(状态)、Length(响应字节长度)、MIME type(响应的MLME类型)、Extension(地址文件扩展名)、Title(页面标题)、Comment(注释)、SSL、IP(目标IP地址)、Cookies、Time(发出请求时间)、Listener port(监听端口)。
Target(目标)
显示目标目录结构的一个功能 Target会显示出访问过的、以及页面中有的链接URL。黑色的说明是有真正发生过通信过程的,灰色的只是爬网爬出的,没有真实访问。对站点右键,就可以调动BP使用其他模块,例如爬网、扫描、比较等。
可以通过加入到Sope,利用Scope过滤不想看的内容: 在这里插入图片描述 点击Filter(过滤器),增加过滤规则:
设置了Scope后会在Scope页面自动生成用于过滤的正则表达式:
Spider(蜘蛛)
应用智能感应的网络爬虫,它能完整的枚举应用程序的内容和功能。
Burp Spider 是一个映射 web 应用程序的工具。也就是用来爬网。
它使用多种智能技术对一个应用程序的内容和功能进行全面的清查。通过跟踪 HTML 和 JavaScript 以及提交的表单中的超链接来映射目标应用程序,它还使用了一些其他的线索,如目录列表,资源类型的注释,以及 robots.txt 文件。
结果会在站点地图中以树和表的形式显示出来,提供了一个清楚并非常详细的目标应用程序 视图。
能使你清楚地了解到一个 web 应用程序是怎样工作的,让你避免进行大量 的手动任务而浪费时间,在跟踪链接,提交表单,精简 HTNL 源代码。可以快速地确定应用程序的潜在的脆弱功能,还允许你指定特定的漏洞,如 SQL 注入,路径遍历。
Control
这个选项是用来开始和停止 Burp Spider,监视它的进度,以及定义 spidering 的范围。
Spider running
这个是用来开始和停止 Spider。Spider 停止后,它自己不会产生请求,但它会继续处理通过 Burp Proxy 的响应,并且在 spidering 范围内的新发现的项都会送入请求队列 里,当 Spider 重新启动时,再来请求。
这里显示的一些 Spider 进度的指标,让你能看到剩余的内容和工作量的大小。
Clear queues
如果你想改变你工作的优先权,你可以完全地清除当前队列的项目,来让其他 的项目加入队列。
注意:如果被清除的项目如果还在范围内并且 Spider 的分析器发现有新的 链接到这个项目,那么它们还会加入队列。
spider options
这个选项里包含了许多控制 Burp Spider 动作的选项,如下描述。
这些设置在 spider 动后还可以修改的,并且这修改对先前的结果也是有效的。
例如,如果增加了最大链接深度, 在以前的最大链接深度外的链接如果满足现在的条件,也会加入到请求队列里。
Scanner(扫描器)
高级工具,执行后,它能自动地发现web 应用程序的安全漏洞。
Results
结果选项卡包含所有的扫描仪已确定,从主动和被动扫描的问题。
以一种树型图显示应用程序的内容,其中的问题已经被发现,使用URL分解成域,目录和文件的层次表示。
如果您选择一个或多个部分的分支,所有选定的项目将扫描的问题都列出来,用组合在一起的相同类型的问题。
您还可以扩大这些问题汇总查看所有的每种类型的个别问题。如果您选择的问题那么将显示相应的详情,包括:
1)自定义的漏洞,咨询内容包括:问题类型及其整治的标准描述。中适用于该问题,并影响其修复任何特定的功能的描述。
2)完整的请求和响应都是依据报告了该问题。在适用的情况,是相关的识别和再现问题的请求和响应的部分在请求和响应消息的编辑器中突出显示。
Scan Queue
Active Scanning(主动扫描)过程通常包括发送大量请求到服务器为所扫描的每个基本的请求,这可能是一个耗时的过程。当您发送的主动扫描请求,这些被添加到活动扫描队列,它们被依次处理。
Live Scanning
实时扫描可让您决定哪些内容通过使用浏览器的目标应用,通过BurpProxy服务器进行扫描。您可以实时主动扫描设定live active scanning和live passive两种扫描模式。
scanner options
此选项卡包含Burp扫描选项进行攻击的插入点,主动扫描引擎,主动扫描优化,主动扫描区和被动扫描区域。
Intruder(入侵)
Burp intruder是一个强大的工具,用于自动对Web应用程序自定义的攻击。它可以用来自动执行所有类型的任务您的测试过程中可能出现的。在使用爆破的时候会用到Intruder。
Target
用于配置目标服务器进行攻击的详细信息。所需的选项有:
Host(主机) - 这是目标服务器的IP地址或主机名
Port(端口) - 这是HTTP / S服务的端口号。
Use HTTPS(使用HTTPS),这指定的SSL是否应该被使用。
配置这些细节最简单的方法是选择你要攻击中BurpSuite的任何地方的请求,并选择上下文菜单中的“Send to intruder”选项。这将发送选定的请求,在intruder一个新的选项卡,将自动填充的目标和位置选项卡。
Positions
用于配置request temlate的攻击,和payloads markers、attack type一起。 Attack type(攻击类型)
包括:
Sniper(狙击手)
这将使用一套单一的payloads。它的目标依次在每个有效载荷的位置,并把每个有效载荷送入依次那个位置。这不是针对一个
给定的请求的位置不受影响
位置标记被移除,并在它们之间出现在模板中任何封闭文本保持不变。这种攻击类型为个别模糊测试的一些请求参数常
见的漏洞非常有用。在攻击中生成的请求的总数是位置的数目和在有效载荷中设定的有效载荷的数量的乘积。
Battering ram(撞击物)
使用一组payload。通过迭代的有效载荷方式,并将相同的payloads再一次填充到所有已定义的有效载荷仓。当其中一个攻击需要相同的输入将被插入在多个地方在请求中(例如,一个Cookie中的用户名和cookie参数)对这种攻击类型是非常有用的。在攻击中生成的请求的总数是有效载荷的有效载荷中设定的数目。
Pitchfork(叉子)
不能只指定一个字典,会在第一个字典中取第一项放在第一个位置,同时在第二个字典中取第一项放在第二个位置,之后换各自字典第二项进行同时替换。
Cluster bomb(集束炸弹)
使用多个Payload sets。有对每个定义的Positions(最多20个)设置不同的payload set。通过每个有效载荷的攻击迭代依次设置,使有效载荷组合的所有排列进行测试。
Payloads
包含类型:
Simple list–简单字典
Runtime file–运行文件
Custom iterator–自定义迭代器
Character substitution–字符替换
Case modification–此负载类型允许您配置一个字符串列表,并应用各种情况下修改每个项目。这可能是密码猜测攻击非常有用,用来产生在字典中的单词的情况下的变化。
Recursive grep–递归
grep Illegal Unicode–非法的Unicode
Character blocks–字符块
Numbers–数字
Dates–日期
Brute forcer–暴力
Null payloads–空的有效负载
Character frobber–性格
frobber Bit flipper–位翻转
Username generator–用户名生成器
ECB block shuffler–欧洲央行座洗牌
Extension-generated–扩展生成
Copy other payload–复制其它有效负载
Payload processing Payload processing:对payload进行加工,如:add prefix:添加前缀,add suffix:添加后缀,Match/replace:一旦匹配到了xxx就替换成XXX,reverse substring:对字符进行反转,Encode:编码 Payload Encoding可以对所指出的字符进行url编码
Options
此选项卡包含了request headers,request engine,attack results ,grep match,grep_extrack,grep payloads和redirections。你可以发动攻击之前,在主要Intruder的UI上编辑这些选项,大部分设置也可以在攻击时对已在运行的窗口进行修改。
Repeater(中继器)
Burp Repeater(中继器)是用于手动操作和补发个别HTTP请求,并分析应用程序的响应一个简单的工具。您可以发送一个内部请求从Burp任何地方到Repeater(中继器),修改请求并且发送它。
点击Go发送请求后会收到回复,能按下面方式显示
Sequencer(序列)
有个sessionID后会认为已经经过身份认证了。通常sessionID常常是通过服务器的伪随机数生成的,如果伪随机算法选择不好,或者cookie就是基于有规律的变化而生成的,攻击者可能预测下一次登录的时候会返回什么样的session ID,sequencer甄别session ID是否真的随机,随机性是否好。
Decoder
注入攻击的时候可以用多层编码进行绕过。 可以选择加密、解密、哈希、智能解密
Comparer
对于数据包可以点击右键发送到comparer,选择两个数据包进行比较。Burp的Comparer是执行任何两项数据之间的比较(视觉“diff(差异)”)一个简单的工具。对Burp的Comparer一些常见用途如下:
当寻找的用户名枚举的条件下,您可以使用有效和无效的用户名比较响应登录失败,寻找在反应细微的差别。
当Intruder袭击已导致不同长度的比基反应一些非常大的反应,你可以比较这些很快看到那里的分歧所在。
当comparing的site maps或通过不同类型的用户生成的Proxy history条目,你可以比较对类似的要求,看看那里的不同之处在于,为不同的应用程序行为引起的。
当测试使用布尔条件注射和其他类似的测试盲目SQL注入漏洞,你可以比较两个反应,看是否注射不同的条件已导致响应的相关差异。
下面是按单词比较的两个包
Options
Connections
此选项卡包含设置来控制Burp platform authentication,upstream proxy servers,SOCKS代理,timeouts,hostname resolution,以及范围外的要求。
platform authentication
设置允许您配置Burp platform authentication(平台自动)验证到目标Web服务器。不同的认证方式和认证可以配置为单个主机。
支持的认证类型有:Basic(基本的),NTLMv1,NTLMv2身份验证和摘要验证。
域和主机名信息仅用于NTLM身份验证。 在“Prompt for credentials on platform authentication failure(提示平台上认证失败凭据)”选项会导致Burp显示交互式弹出每当身份验证失败时遇到的问题。
Upstream Proxy Servers
上游代理服务器: 例如使用BP Scanner时不想被发现,可以添加代理。
Scheduled Tasks
定期对某个Web站点进行扫描。 HTTL设置还有SOCKS代理、超时时间、主机名解析、超出Scope如何处理的设置等 SSL设置还有添加客户端证书、添加真实服务端证书等 Display设置用户界面字体、字符集(使用什么字符编码,通常自动识别) Misc杂项设置Log保存数据包、临时文件位置、Scheduled Tasks等
Alert
用来显示当前Burp的扫描代理的一些状态。
个人感觉要想熟练使用burpsuite还应该经常使用,经常用就能理解每个工具的具体用途,现在还只是简单了解下功能模块使用