目录
Burp Suite
代理(proxy)
先设置firefox浏览器代理与Burp Suite设置一致。再把拦截打开,就能抓取到数据包。
选项说明:
intercept:截断,被代理截获的数据包在此进行下一步的操作。
HTTP history:http请求历史。
options:选项。
forwording:截获的数据包放行。
drop:截获的数据包丢弃。
intercept is on/off:截获打开或者关闭。
action:执行的动作或者设置
Raw:视图主要显示web请求的raw格式,包含请求地址、http协议版本、主机头、浏览器信息、Accept可接受的内容类型、字符集、编码方式、cookie等。我们可以通过手工修改这些信息,对服务器端进行渗透测试。
params :视图主要显示客户端请求的参数信息、包括GET或者POST请求的参数、Cookie参数。渗透人员可以通过修改这些请求参数来完成对服务器端的渗透测试。
headers:视图显示的信息和Raw的信息类似,只不过在这个视图中,展示得更直观、友好。
Hex :视图显示Raw的二进制内容,你可以通过hex编辑器对请求的内容进行修改。
目标(target)
对目标网站进行扫描的结果存放于此,让我们了解目标应用的整体状况、当前的工作涉及哪些目标域、分析可能存在的攻击面等。可以在此进行站点比较,目标分析等工作。
site map:网站地图,扫描的结果。
scope:范围,可以把目录放入范围或从范围删除。
爬行(spider)和扫描(scanner)
我下载的版本没有这两个个选项。。。
但是抓过包在扫描里有爬行选项。也有一些选项,扫描速度之类的。
爬行和扫描的过程和结果也能在dashboard(仪表盘)中看到。
设置也很简单,没啥可说的。
测试器(intruder)
抓包后发送到interder。
positions选项
在positions中选择要测试的目标再选择测试模式:
1.sniper 狙击手模式(只能使用一个payload位置)
使用一组payload集合,一次替换payload位置上被被§标志的文本(而没有被§标志的文本将不受影响),对服务器端进行请求,通常用于测试请求参数是否存在漏洞。
2.batteringram攻城锤模式
它使用单一的Payload集合,依次替换Payload位置上被§标志的文本(而没有被§标志的文本将不受影响),对服务器端进行请求,与狙击手模式的区别在于,如果有多个参数且都为Payload位置标志时,使用的Payload值是相同的,而狙击手模式只能使用一个Payload位置标志。
3.pitchfork 音叉模式
它可以使用多组Payload集合,在每一个不同的Payload标志位置上(最多20个),遍历所有的Payload。举例来说,如果有两个Payload标志位置,第一个Payload值为A和B,第二个Payload值为C和D,则发起攻击时,将共发起两次攻击,第一次使用的Payload分别为A和C,第二次使用的Payload分别为B和D。
4.clusterbomb集束炸弹模式
它可以使用多组Payload集合,在每一个不同的Payload标志位置上(最多20个),依次遍历所有的Payload。它与草叉模式的主要区别在于,执行的Payload数据Payload组的乘积。举例来说,如果有两个Payload标志位置,第一个Payload值为A和B,第二个Payload值为C和D,则发起攻击时,将共发起四次攻击,第一次使用的Payload分别为A和C,第二次使用的Payload分别为A和D,第三次使用的Payload分别为B和C,第四次使用的Payload分别为B和D。
payloads选项
再进入payloads选项选择set和types
types有很多种:
1.simplelist简单列表:通过配置一个字符串列表作为payload,也可以手工添加字符串列表或从文件加载字符串列表。
2.runtimefile运行时文件 :指定文件,作为相对应 Payload位置上的Payload列表。运行时,Burp Intruder将读取文件的每一行作为一个Payload。
3.customiterator自定义迭代器
一款功能强大的Payload,它共有8个占位,每一个占位可以指定简单列表的Payload类型,然后根据占位的多少,与每一个简单列表的Payload进行笛卡尔积,生成最终的Payload列表。例如,某个参数的值格式是username@@password,则设置此Payload的步骤是:位置1,选择Usernames。接着,指定位置2,输入值@@最后指定位置3,选择Passwords。当我们开始攻击时,生成的Payload值如图所示:
4.charactersubstitution字符串替换
顾名思义,此种Payload的类型是对预定义的字符串进行替换后生成新的Payload。比如说,预定义字符串为ABCD,按照下图的替换规则设置后,将对AB的值进行枚举后生成新的Payload。则A会替换成4,B会替换成8
5.casemodification大小写替换
生成规则有:①NOchange②To lower caser③To upper case ④To Propername首字母大写,其他小写 ⑤To ProperName 首字母大写,其他不改变
6.Recursivegrep 递归grep
此Payload类型主要使用于从服务器端提取有效数据的场景,需要先从服务器的响应中提取数据作为Payload,然后替换Payload的位置,进行攻击。它的数据来源于原始的响应消息,基于原始响应,在Payload的可选项设置(Options)中配置Grep规则,然后根据grep去提取数据才能发生攻击。如,我在grep extract中设置取服务器端的EagleId作为新的Payload值。点击 OK 后,便完成了payload 的设置当发起攻击时,Burp会对每一次响应的消息进行分析,如果提取到了EagleId的值,则作为Payload再发生一次请求。
7.illegalunicode不合法的unicode编码
在payloads里用指定的不合法Unicode编码替换字符本身,从这些Payload列表里产生出一个或者多个有效负荷。在尝试回避基于模式匹配的输入验证时,这个有效负荷会有用的
8.characterblocks字符块
这种类型的Payload是指使用一个给出的输入字符串,根据指定的设置产生指定大小的字符块,表现形式为生成指定长度的字符串。它通常使用了边界测试或缓冲区溢出。
9.number 数字类型
根据配置,生成一系列的数字作为Payload。Type表示使用序列还是随机数,From表示从什么数字开始,To表示到什么数字截止,Step表示步长是多少,如果是随机数,则How many被激活,表示一共生成多少个随机数。Base表示数字使用十进制还是十六进制形式,Min integerdigits 表示最小的整数是多少,Max integer digits表示最大的整数是多少,如果是10进制,则Minfractiondigits表示小数点后最少几位数,Max fraction digits表示小数点后最多几位数。
10.Dates日期类型
根据配置,生成一系列的日期。格式可以选择burp自己提供的样例格式,也可以自定义
11.bruteforcer暴力字典
此类payload生成包含一个指定的字符集的所有排列特定长度的有效载荷,通常用于枚举字典的生成
Character set表示生成字典的数据集,从此数据集中抽取字符进行生成。Min length表示生成Payload的最小长度,Max length表示生成Payload的最大长度。
12.Nullpayloads空类型
这种负载类型产生的Payload,其值是一个空字符串。在攻击时,需要同样的请求反复被执行,在没有任何修改原始请求的场景下此Payload是非常有用的。它可用于各种攻击,例如cookie的序列分析、应用层Dos、或保活会话令牌是在其它的间歇试验中使用。
13.characterfrobber字符frobber
这种类型的Payload的生成规律是:依次修改指定字符串在每个字符位置的值,每次都是在原字符上递增一个该字符的ASCII码。它通常使用于测试系统使用了复杂的会话令牌的部件来跟踪会话状态,当修改会话令牌中的单个字符的值之后,您的会话还是进行了处理,那么很可能是这个令牌实际上没有被用来追踪您的会话。
14.bitflipper bit翻转
对预设的Payload原始值,按照比特位,依次进行修改。
设置选项:
Operateon:指定对payload原始数据进行bit翻转,还是指定值进行bit翻转
Format oforiginal data 是指是否对原始数据的文本意义进行操作,还是应该把它当作ASCII十六进制
Select bitsto flip是指选择翻转的Bit位置。可以配置基于文本意义进行操作,或基于ASCII十六进制字符串进行翻转。
15.usernamegenerator用户名生成器
这种类型的payload主要用于用户名和email账号的自动生成
16.ECB blockshuffler ECB加密块洗牌
这种类型的Payload是基于ECB加密模式的Payload生成器,通过改变分组数据的位置方式来验证应用程序是否易受到攻击。
17.extesion-generated生成插件
这种类型的Payload是基于Burp插件来生成Payload值,因此使用前必须安装配置Burp插件,在插件里注册一个Intruderpayload生成器,供此处调用。
18.copy otherpayload
这种类型的Payload是将其他位置的参数复制到Payload位置上,作为新的Payload值,通常适用于多个参数的请求消息中,它的使用场景可能是: 1.两个不同的参数需要使用相同的值,比如说,用户注册时,密码设置会输入两遍,其值也完全一样,可以使用此Payload类型。 2.在一次请求中,一个参数的值是基于另一个参数的值在前端通过脚本来生成的值,可以使用此Payload类型。它的设置界面和参数比较简单,如下图所示,其中Payload位置的索引值就是指向图中Payload set的值。
也可以在payload processing选项中选择处理规则,例如:添加前后缀、编码方式、hash等
options选项
在option中可设置同时工作的线程数量、延时、重试次数、重定向等基本配置。
暴力破解线程一般设置20-30;企业邮箱设置100
超时重试设置3
重发器(repeater)
可以修改请求重发来查看响应。可以用来进行注入测试
编码器(decoder)+对比器(comparer)+扩展器(extender)
编码器(decoder):编码译码哈希计算均可,可智能编码。
对比器(comparer):橙色改动,蓝色删除,黄色新增。经常运用在sql注入。
扩展器(extender):插件扩展。
扩展学习
抓取https包
在开启burp代理的时候,先访问 http://burp来下载burp证书,再把证书导入到浏览器。导入流程:【选项】—>【高级】—>【证书】—>【查看证书】—>【证书机构】中导入刚才下载的证书。这个过程就是让burp受信。
暴力破解技巧
指定长度方法:
1.采用Custom iterator
$1$$2$$$3$$4$
所示为四位。
2.采用Brute forcer方式来限制最大最小字符长度。
3.采用Numbers方式来限制字符串的值。
AWVS
之前安装过新版的,与老师上课讲述的版本不大一样,就按照老师的流程跟着做了一遍。