Burp Intruder

Burp Intruder作为Burp Suite中一款功能极其强大的自动化测试工具,通常被系统安全渗透测

试人员被使用在各种任务测试的场景中

Intruder操作步骤

主要遵循以下步骤:

1、确认Burp Suite安装正确并正常启动,且完成了浏览器的代理设置。

2、进入Burp Proxy选项卡,关闭代理拦截功能。

3、进行历史日志(History)子选项卡,查找可能存在问题的请求日志,并通过右击菜单,发送到Intruder。

BurpSuite使用指南-使用Burp Intruder_安全入门

进行Intruder 选项卡,打开Target和Positions子选项卡。这时,你会看到上一步发送过来的请求消息。

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_02

默认有两个选项卡

默认情况下,Burp Intruder会对请求参数和Cookie参数设置成Payload position,前缀添加 符合,如上图红色标注位置所示。当发送请求时,会将 符合,如上图红色标注位置所示。当发送请求时,会将 符合,如上图红色标注位置所示。当发送请求时,会将标识的参数替换为Payload。

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_03

在Position界面的右边,有【Add $】、【Clear $】、【Auto $】、【Refersh $】四个按钮,是用来控制请求消息中的参数在发送过程中是否被Payload替换

BurpSuite使用指南-使用Burp Intruder_安全入门_04

选择攻击类型

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_05

开始测试

BurpSuite使用指南-使用Burp Intruder_安全入门_06

看来得切换成专业版本

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_07

Burp会自动打开一个新的界面,包含攻击执行的情况、Http状态码、长度等结果信息。

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_08

我们可以选择其中的某一次通信信息,查看请求消息和应答消息的详细

Payload类型与处理

BurpSuite使用指南-使用Burp Intruder_安全入门_09

在Burp Intruder的Payload选项卡中,有Payload集合的设置选项,包含了经常使用的Payload类型,共18种。

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_10

简单列表(Simple list)

——最简单的Payload类型,通过配置一个字符串列表作为Payload,也可以手工添加字符串列表或从文件加载字符串列表。

BurpSuite使用指南-使用Burp Intruder_安全入门_11

预定义了一组简单Payload列表,包括XSS脚本、CGI脚本、SQL注入脚本、数字、大写字母、小写字母、用户名、密码、表单域的字段名、IIS文件名和目录名等等,极大地方便了渗透测试人员的使用

运行时文件(Runtime file) ——指定文件

当我们点击【select file】选择文件时,将弹出图中所示的对话框,选择指定的Payload文件。运行时,Burp Intruder将读取文件的每一行作为一个Payload。

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_12

自定义迭代器(Custom iterator)

共有8个占位,每一个占位可以指定简单列表的Payload类型,然后根据占位的多少,与每一个简单列表的Payload进行笛卡尔积,生成最终的Payload列表

BurpSuite使用指南-使用Burp Intruder_安全入门_13

例如,某个参数的值格式是username@@password

BurpSuite使用指南-使用Burp Intruder_安全入门_14

将会生成大量的这种格式参数

字符串替换(Character substitution)

是对预定义的字符串进行替换后生成新的Payload。

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_15

BurpSuite使用指南-使用Burp Intruder_安全入门_16

大小写替换(Case modification)

对预定义的字符串,按照大小写规则,进行替换

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_17

递归grep (Recursive grep)

此Payload类型主要使用于从服务器端提取有效数据的场景,需要先从服务器的响应中提取数据作为Payload,然后替换Payload的位置,进行攻击。它的数据来源了原始的响应消息,基于原始响应,在Payload的可选项设置(Options)中配置Grep规则,然后根据grep去提取数据才能发生攻击。

BurpSuite使用指南-使用Burp Intruder_安全入门_18

不合法的Unicode编码(Illegal Unicode)

在payloads里用指定的不合法Unicode 编码替换字符本身,从这些Payload列表里产生出一个或者多个有效负荷。在尝试回避基于

模式匹配的输入验证时,这个有效负荷会有用的,例如,在防御目录遍历攻击时…/和…序列的期望编码的匹配。

BurpSuite使用指南-使用Burp Intruder_安全入门_19

字符块(Character blocks)—

这种类型的Payload是指使用一个给出的输入字符串,根据指定的设置产生指定大小的字符块,表现形式为生成指定长度的字符串。它通常使用了边界测试或缓冲区溢出。

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_20

数字类型(Number)

这种类型的Payload是指根据配置,生成一系列的数字作为 Payload。

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_21

日期类型(Dates)—

这种类型的Payload是指根据配置,生成一系列的日期

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_22

暴力字典(Brute forcer)

此类Payload生成包含一个指定的字符集的所有排列特定长度的有效载荷,通常用于枚举字典的生成

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_23

空类型(Null payloads)

这种负载类型产生的Payload,其值是一个空字符串。在攻击时,需要同样的请求反复被执行,在没有任何修改原始请求的场景下此Payload是非常有用的。它可用于各种攻击,例如cookie的序列分析、应用层Dos、或保活会话令牌是在其它的间歇试验中使用。

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_24

字符frobber(Character frobber)

这种类型的Payload的生成规律是:依次修改指定 字符串在每个字符位置的值,每次都是在原字符上递增一个该字符的ASCII码

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_25

Bit翻转(Bit flipper)

这种类型的Payload的生成规律是:对预设的Payload原始值,按照比特位,依次进行修改。

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_26

用户名生成器(Username generator)

这种类型的Payload主要用于用户名和email帐号的自动生成,其设置界面如下图:

BurpSuite使用指南-使用Burp Intruder_安全入门_27

ECB 加密块洗牌(ECB block shuffler)

这种类型的Payload是基于ECB加密模式的 Payload生成器

BurpSuite使用指南-使用Burp Intruder_安全入门_28

Burp Payload生成插件(Extension-generated)

这种类型的Payload是基于Burp插件来生成Payload值,因此使用前必须安装配置Burp插件,在插件里注册一个Intruder payload生成器,供此处调用。

BurpSuite使用指南-使用Burp Intruder_安全入门_29

Payload复制(Copy other payload)

这种类型的Payload是将其他位置的参数复制到 Payload位置上,作为新的Payload值,通常适用于多个参数的请求消息中,它的使用场 景可能是:

1、两个不同的参数需要使用相同的值,比如说,用户注册时,密码设置会输入两遍,其值也完全一样,可以使用此Payload类型。

2、在一次请求中,一个参数的值是基于另一个参数的值在前端通过脚本来生成的值,可以使用此Payload类型。

BurpSuite使用指南-使用Burp Intruder_安全入门_30

Payload位置和攻击类型

BurpSuite使用指南-使用Burp Intruder_安全入门_31

Payload位置的设置是基于Http请求的原始消息作为母板,使用一对 §字符来标记出Payload的位置,在这两个号直接包含了母板文本内容。 当我们已经把一个Payload在请求消息的特殊位置上时标明后,发起攻击时,Burp Intruder 就把一个Payload值放置到给出的特殊位置上,替换 §符号标示的整个位置。

如上图中的参数id后面的 §符号之间的标明的是Payload位置1,name后面的 §符号之间标明的是Payload位置2,这个值对应于Payload设置中的Payload set的值。

有四种类型

狙击手模式(Sniper)

使用一组Payload集合,依次替换Payload位置上(一次攻击只能使用一个Payload位置)被§标志的文本(而没有被§标志的文本将不受影响),对服务器端进行请求,通常用于测试请求参数是否存在漏洞。

攻城锤模式(Battering ram)—

使用单一的Payload集合,依次替换Payload位置上被§标志的文本(而没有被§标志的文本将不受影响),对服务器端进行请求,与狙击手模式的区别在于,如果有多个参数且都为Payload位置标志时,使用的Payload值是相同的,而狙击手模式只能使用一个Payload位置标志。

草叉模式(Pitchfork )—

可以使用多组Payload集合,在每一个不同的Payload标志位置上(最多20个),遍历所有的Payload。举例来说,如果有两个Payload标志位置,第一个Payload值为A和B,第二个Payload值为C和D,则发起攻击时,将共发起两次攻击,第一次使用的Payload分别为A和C,第二次使用的Payload分别为B和D。

集束炸弹模式(Cluster bomb)

可以使用多组Payload集合,在每一个不同的Payload标志位置上(最多20个),依次遍历所有的Payload。它与草叉模式的主要区别在于,执 行的Payload数据Payload组的乘积,如果有两个Payload标志位置,第一个Payload值为A和B,第二个Payload值为C和D,则发起攻击时,将共发起四次攻击

可选项设置(Options)

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_32

可以自己设置资源池

BurpSuite使用指南-使用Burp Intruder_intruder使用指南_33

还有其他一些小设置。

BurpSuite使用指南-使用Burp Intruder_安全入门_34

grep设置。

BurpSuite使用指南-使用Burp Intruder_安全入门_35

接下来我将给各位同学划分一张学习计划表!

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

学习资料分享

当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份【282G】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐