Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多Burp工具,这些不一样的burp工具经过协同工做,有效的分享信息,支持以某种工具中的信息为基础供另外一种工具使用的方式发起攻击。这些工具设计了许多接口,以促进加快攻击应用程序的过程。全部的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。它是一个基于Java的Web渗透测试框架,已成为信息安全专业人员使用的行业标准工具套件。 Burp Suite可帮助您识别漏洞并验证影响Web应用程序的攻击媒介。
burpsuite的模块几乎包含整个安全测试过程,从最初对目标程序的信息采集,到漏洞扫描及其利用,多模块间高融合的配合,使得安全测试的过程更加高效。
在(安全人员经常使用工具表)[http://sectools.org/]中,burpsuite排在第13位,且排名在不断上升,因而可知它在安全人员手中的重要性。web
拦截HTTP/S的代理服务器,做为一个在浏览器和目标应用程序之间的中间人,容许你拦截,查看,修改在两个方向上的原始数据流。正则表达式
Intercept选项
浏览器
- Forward:用于发送数据。当把所须要的HTTP请求编辑编辑完成后,手动发送数据。
- Drop:将该请求包丢弃。
- Intercept is off/on:拦截开关。当处于off状态下时,BurpSuite会自动转发所拦截的全部请求;当处于on状态下时,BurpSuite会将全部拦截全部符合规则的请求并将它显示出来等待编辑或其余操做。
- Action:功能菜单,与右键菜单内容相同,在这能够将请求包发送到其余的模块或者对数据包进行其余的操做,菜单中的详细功能咱们会在后续课程中陆续说明。
http history选项
详细信息:(#)请求索引号、Host(主机)、Method(请求方式)、URL(请求地址)、Params(参数)、Edited(编辑)、Status(状态)、Length(响应字节长度)、MIME type(响应的MLME类型)、Extension(地址文件扩展名)、Title(页面标题)、Comment(注释)、SSL、IP(目标IP地址)、Cookies、Time(发出请求时间)、Listener port(监听端口)。安全
WebSockets history选项
这个版块用于记录WebSockets的数据包,是HTML5中最强大的通讯功能,定义了一个全双工的通讯信道,只需Web上的一个 Socket便可进行通讯,能减小没必要要的网络流量并下降网络延迟。服务器
Options选项
该版块主要用于设置代理监听、请求和响应,拦截反应,匹配和替换,ssl等。
以代理监听(Proxy Listeners)为例:
代理侦听器是侦遵从您的浏览器传入的链接本地HTTP代理服务器。它容许您监视和拦截全部的请求和响应,而且位于BurpProxy的工做流的心脏。默认状况下,Burp默认监挺127.0.0.1地址,端口8080。要使用这个监听器,你须要配置你的浏览器使用127.0.0.1:8080做为代理服务器。此默认监听器是必需的测试几乎全部的基于浏览器的全部Web应用程序。cookie
add:添加一个新的代理地址。网络
- binding:新建一个代理,bind to port-绑定端口号 ,bind to address -绑定ip地址
- request hadning:这些设置包括选项来控制是否BurpSuite重定向经过此侦听器接收到的请求:
>- Redirect to host - 若是配置了这个选项,Burp会在每次请求转发到指定的主机,而没必要受限于览器所请求的目标。须要注意的是,若是你正使用该选项,则可能须要配置匹配/替换规则重写的主机中的请求,若是服务器中,您重定向请求预期,不一样于由浏览器发送一个主机头。
>- Redirect to port - 若是配置了这个选项,Burp会在每次请求转发到指定的端口,而没必要受限于浏览
>- Force use of SSL - 若是配置了这个选项,Burp会使用HTTPS在全部向外的链接,即便传入的请求中使用普通的HTTP。您可使用此选项,在与SSL相关的响应修改选项结合,开展sslstrip般的攻击使用Burp,其中,强制执行HTTPS的应用程序能够降级为普通的HTTP的受害用户的流量在不知不觉中经过BurpProxy代理。- Certificate:这些设置控制呈现给客户端的SSL服务器的SSL证书。
>- Generate CA-signed per-host certificate-这是默认选项。安装后,BurpSuite创造了一个独特的自签名的证书颁发机构(CA)证书,并将此计算机上使用,每次BurpSuite运行。当你的浏览器发出SSL链接到指定的主机,Burp产生该主机,经过CA证书签名的SSL证书。您能够安装BurpSuite的CA证书做为在浏览器中受信任的根,从而使每一个主机的证书被接受,没有任何警报。您还能够导出其余工具或Burp的其余实例使用CA证书。
>- Generate a CA-signed certificate with a specific hostname---||这相似于前面的选项;然而,Burp会产生一个单一的主机证书与每个SSL链接使用,使用您指定的主机名。在进行无形的代理时,此选项有时是必要的,由于客户端没有发送链接请求,所以Burp不能肯定SSL协议所需的主机名。你也能够安装BurpSuite的CA证书做为受信任的根。
>- Use a custom certificate---||-此选项使您能够加载一个特定的证书(在PKCS#12格式)呈现给你的浏览器。若是应用程序使用它须要特定的服务器证书(例如一个给定序列号或证书链)的客户端应该使用这个选项。- edit:编辑选中的代理地址。相关选项相似于add,再也不叙述。
remove:删除选中代理地址。框架
应用智能感应的网络爬虫,它能完整的枚举应用程序的内容和功能。编辑器
Control选项
用来开始和中止 Burp Spider,监视它的进度,以及定义 spidering 的范围。
ide
Spider Status:用来开始和中止 Burp Spider,监视它的进度。
- Spider running:运行蜘蛛。这里显示的一些 Spider 进度的指标,让你能看到剩余的内容和工做量的大小。
- Clear queues:清除队列。中止并清除正在运行的爬行线程。
- 工做量内容:
>- Requests made:已经发出的请求
>- bytes transferred:传输的字节
>- requests queued:未发送的请求
>- forms queued:排队的表格Spider Scope:精准的定义 spidering 的范围。
- Use suite scope [defined in target tab]:使用套件范围[在目标标签中定义]- Use custom scope:使用自定义的范围。选择该项后会出现详细的配置列表,如图:
Options选项
这个选项里包含了许多控制 Burp Spider 动做的选项。
Crawler Settings:爬虫设置。设置控制蜘蛛爬行的基本Web内容。
- check robots.txt:检测robot.txt文件。选择后Burp Spider会要求和处理robots.txt文件,提取内容连接。
- Detect custom "not found" responese:检测自定义的'not found'响应。打开后Burp Spider会从每一个域请求不存在的资源,编制指纹与诊断“not found”响应其它请求检测自定义“not found”的响应。
- ignore links to non-text content:忽略非文本内容的链接。这个选项被选中,Spider 不会请求非文本资源。使用这个选项,会减小 spidering 时间。
- request the root of all directories:请求全部的根目录。若是这个选项被选中,Burp Spider 会请求全部已确认的目标范围内的 web 目录,若是在这个目标站点存在目录遍历, 这选项将是很是的有用。
- make a non-parameterized request to each dynamic page:对每一个动态页面进行非参数化的请求。若是这个选项被选中,Burp Spider 会对在范围内的全部执行动做的 URL 进行无参数的 GET 请求。若是期待的参数没有被接收, 动态页面会有不一样的响应,这个选项就能成功地探测出额外的站点内容和功能。
- Maximum link depth:这是Burp Suite在种子 URL 里的浏览”hops”的最大数。0表示让Burp Suite只请求种子 URL。若是指定的数值很是大,将会对范围内的连接进行无限期的有效跟踪。将此选项设置为一个合理的数字能够帮助防止循环Spider在某些种类的动态生成的内容。
- Maximum parameterized requests per URL:请求该蜘蛛用不一样的参数相同的基本URL的最大数目。将此选项设置为一个合理的数字能够帮助避免爬行“无限”的内容。
高级工具,执行后,它能自动地发现web 应用程序的安全漏洞。
Scan queue选项
扫描队列,这里将显示扫描队列的状态 进度 结果等。
主要包含如下内容:
- 索引号的项目,反映该项目的添加顺序。
- 目的地协议,主机和URL 。
- 该项目的当前状态,包括完成百分比。
- 项目扫描问题的数量(这是根据所附的最严重问题的重要性和彩色化) 。
- 在扫描项目的请求数量进行。
- 网络错误的数目遇到的问题。
- 为项目建立的插入点的数量。
Linve scanning选项
实时扫描可以让您决定哪些内容经过使用浏览器的目标应用,经过BurpProxy服务器进行扫描。您能够实时主动扫描设定live active scanning(积极扫描)和live passive(被动扫描)两种扫描模式。
Live Active Scanning:积极扫描。当浏览时自动发送漏洞利用代码。
- Don't scan:不开启扫描。
- Use suite scope[defined in target tab]:若是你已经配置了一套全范围的目标为你目前的工做,那么你能够简单地通知Burp主动扫描落在该范围内的每一个请求。
- Use custom scope:自定义扫描。选中后会出现编辑列表,可使用URL匹配规则定义自定义范围。
Live Passive Scanning:被动扫描。只分析流量不发送任何请求。
- Don't scan:不开启扫描。
- Scan everything:扫描全部。扫描全部通过代理的流量。
- Use suite scope[defined in target tab]:若是你已经配置了一套全范围的目标为你目前的工做,那么你能够简单地通知Burp主动扫描落在该范围内的每一个请求。
- Use custom scope:自定义扫描。选中后会出现编辑列表,可使用URL匹配规则定义自定义范围
Issue definitions选项
漏洞列表,列出了burp能够扫描到的漏洞详情。
这里详细说明了常见漏洞的介绍,这里不作详细介绍。
Options选项
包含Burp扫描选项进行攻击的插入点,主动扫描引擎,主动扫描优化,主动扫描区和被动扫描区域。
Attack Insertion Points:攻击的插入点。设定将攻击放在哪一个位置。
- URL parameter values:将攻击代码放在URL中。
- Body parameter values - 将攻击代码放在正文中,包括标准形式生成的参数参数值,属性的多重编码的参数,如上传的文件名, XML参数值和属性,和JSON值。
- Cookie parameter values - 将攻击代码放在HTTP Cookie的值中。
- Parameter name - 任意添加的参数的名称。
- HTTP headers - 在引用页和用户代理标头的值。测试这些插入点一般能够检测如SQL注入或跨站脚本持续在日志记录功能的问题。
- AMF string parameters- 内AMF编码的邮件的任何字符串数据的值。
- REST-style URL parameters - URL的文件路径部分中的全部目录和文件名令牌的值。测试每个插入点能够并处显著开销,若是你相信应用程序使用这些位置传送参数数据,才应使用。
- Cheange Parameter locations (causes many more scan requests):修改参数的位置(会产生更多的扫描请求),能够一些防火墙或过滤器。
>- URL to body
>- URL to cookie
>- Body to URL
>- Cookie to URL
>- Cookie to body- Use Nested Insertion Points:使用嵌套插入点。嵌套的插入时,会使用一个插入点的基值包含可识别的格式的数据。 例如,一个URL参数可能包含Base64编码数据,而且将解码后的值可能又包含JSON或XML数据。与使用启用嵌套插入点的选项,Burp会为输入在每一个嵌套级别中的每一个单独的项目适合的插入点。
- Maximum Insertion Points Per Request:限制每一个请求的最大插入点。
- Skip server-side injction tests for these parameters / skip all tests for these parameters :跳过列表中参数的测试。设定让您指定请求参数的Burp应该跳过某些测试。
一个定制的高度可配置的工具,对web应用程序进行自动化攻击,如:枚举标识符,收集有用的数据,以及使用fuzzing 技术探测常规漏洞。
Target
用于配置目标服务器进行攻击的详细信息。
- Host:这是目标服务器的IP地址或主机名。
- Port:这是目标服务的端口号。
- Use HTTPS:这指定的SSL是否应该被使用
在BurpSuite任何请求处,右键菜单选择“Send to intruder”选项,将自动发送到此模块下并自动填充以上内容。
Positions
设置Payloads的插入点以及攻击类型(攻击模式)。
attack type:攻击模式设置
- sniper:对变量依次进行破解。多个标记依次进行。
- battering ram:对变量同时进行破解。多个标记同时进行。
- pitchfork:每个变量标记对应一个字典,取每一个字典的对应项。
- cluster bomb:每一个变量对应一个字典,而且进行交集破解,尝试各类组合。适用于用户名+密码的破解。
- add:插入一个新的标记
- clear:清除全部的标记
- auto:自动设置标记,一个请求发到该模块后burpsuite会自动标记cookie URL等参数
refresh:若是必要的话,这能够要求模板编辑器的语法高亮。
Payloads
设置payload,配置字典。
Options
此选项卡包含了request headers,request engine,attack results ,grep match,grep_extrack,grep payloads和redirections。你能够发动攻击以前,在主要Intruder的UI上编辑这些选项,大部分设置也能够在攻击时对已在运行的窗口进行修改。
一个靠手动操做来触发单独的HTTP 请求,并分析应用程序响应的工具。
Repeater是用于手动操做和发送个别HTTP请求,并分析应用程序的响应一个简单的工具。您能够发送一个内部请求从Burp任何地方到Repeater,修改请求而且发送。
- 能够从Proxy history、site map、Scanner等模块中右键菜单send to repeater发送到repeater,对页面数据进行修改发送。
- 点击go,发送请求,右边响应请求。
- 能够经过“<“和”>“来返回上一次和下一个操做。
- 单击”x“能够删除当前测试请求页面。
- 底部的功能用于搜索条件,能够用正则表达式,底部右边显示匹配结果数。
该模块的设置在菜单栏 Repeater中,主要选项以下:
- Update Content-length:更新头部长度。
- Unpack gzip/deflate:该选项控制Burp是否自动解压缩在收到的答复的gzip和deflate压缩内容。
Follow redirections:在遇到重定向时Burp该怎么处理
- Never:不会跟随任何重定向。
- On-site only:中继器将只跟随重定向到使用相同的主机,端口和协议的URL。
- In-scope Only:中继器将只跟随重定向到的目标范围以内的URL。
- Always:中继器将跟随重定向到任何URL任何责任。
- Process cookies in redirections:当被重定向后是否提交cookie。
- View:设置响应/请求版块的布局方式。
Action:形同于右键菜单。