经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 其他 » 网络安全 » 查看文章
Kali学习笔记28:Burpsuite(下)
来源:cnblogs  作者:一清  时间:2018/11/14 9:56:07  对本文有异议

文章的格式也许不是很好看,也没有什么合理的顺序

完全是想到什么写一些什么,但各个方面都涵盖到了

能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道

 

扫描:

上一篇介绍到了爬网,那么到这里我以及爬取了一个网站

接下来要做地事情就是,扫描这个站点:

为了扫描最大化,我在设置中勾选所有的扫描选项:

 

下面还有扫描的一些其他选项,比如扫描线程,速度等等,值得注意的是这里:

第一个选项是扫描速度,不用多说,速度越慢扫描越细致

下面这个要注意了

minimize false negatives:只要有看起来是漏洞的就报告

minimize false positives:只有很肯定这是漏洞才会报告

 

漏洞扫描也分为也分为主动扫描和被动扫描:

被动扫描,只要我们访问网站就会进行

主动扫描,在站点右键Active Scan即可

扫描出问题之后,就可以在主页查看详细,比如:

 

 

下面介绍Burp的一个强大的功能:

 

Intruder:

Intruder可以理解为暴力破解

演示:

我使用带有一个发送了POST请求的页面右键发送到Intruder模块:

 

 

然后在Intruder模块的Positions中设置好我要FUZZ的模块:

比如我这里要FUZZ(暴破)用户名和密码

 

 

这里要重点注意的是上方的Attack type:攻击类型,总共有四种,下面我对这四种做演示:

Sniper方式:

新建一个用户字典:user 用来破解用户名

aaa
bbb
ccc
ddd
eee
admin
fff
ggg

再新建一个密码字典:pass 用来破解密码:

aaaa
bbbb
cccc
password
dddd
eeee
ffff
gggg

 

在Payloads选项中导入字典:注意我这里把两个字典合在一起加载了,而且PayloadSet选择是1

 

这时候点击最上方工具栏的Intruder的Start开始:

 

通过观察可以发现:

这种方式是固定第二个位置的值(默认值),然后对第一个位置利用字典暴破,字典循环完之后固定第一个位置(默认值),暴破第二个位置

由于我这里的默认值是admin和password,取巧可以暴破成功

 

Battering ram

通过和上边一样的导入测试之后,发现这种爆破方式是:

第一个位置和第二个位置的值一样,都是字典里面的条目

显然,我这里想爆破用户名密码不能用这种方式

 

Pitchfork

这种方式就不能只指定一个字典文件了:

我在Payload set 1里面指定user文件,在Payload set 2里面指定pass文件

 

然后开始爆破:

 

观察结果后发现:

取第一个字典的第n项和第二个字典的第n项组合进行爆破

显然这种方式不适合用户名密码爆破

 

Cluster Bomb

这种方式是最完善的,用User里面的每一项和Pass里面的每一项都进行组合,来爆破

所以在这里爆破用户名密码适合使用这一种

 

那么,如果爆破结果出来了,我们如何查看呢?

正常的Web应用,我们根据状态码和响应体长度可以一目了然

然而这个DVWA做得很巧妙,正确情况重定向到login.php,错误情况重定向到index.php,字符个数都是一样

这时候可以用搜索过滤来查看:前提是我经过一系列的分析得知正确的结果是返回index.php

除了这种方式,还可以在配置中设置匹配:

注意添加完index,要不下面这个勾去掉,否则会排除头信息

 

 

上边的字典类型也需要说一下:

这里说几个常用的字典类型

简单的字典直接加载即可

大字典最好使用runtime file类型

Case modification方式:替换大小写等操作

Charater Block字符块方式:通过一些参数自定义一长串字符

Dates:自定义参数插入日期

Brute Force:通过一些参数使用所有的尽可能的组合进行爆破

 

之前是我自己找的字典,Burp里面也有自带的字典:

字典都不是很大,但实用性方面还可以

 

在已经选好字典之后,还可以有各种各样的复杂操作:前缀后缀编码解码哈希等等

 

还有一个重要功能就是Repeater:

 

Repeater

手动请求重复提交,任何一个模块地请求页面都可以右键send to repeater

至于手动提交请求有什么用,有大用

关于发送请求的选项可以点击右键来查看

 

 

Sequencer:

Cookie地sessionID是一定随机的吗?不是,它是服务器端采用伪随机算法生成的

因此,我们理论上可以判断出下一个sessionID,由此来做更多的操作

而Sequencer就有这样的功能:

在带有Cookie响应包的页面右键Send To Sequencer:

Burp会自动识别Cookie,如果失败可以点下面的Configure来手动识别

 

然后点击Start live capture就可以进行很多次的发送,感觉数量差不多就可以停止

然后使用Burp进行分析,Burp自带很多的分析方法

 

分析之后,显示DVWA对Cookie的加密是excellent级别的,说明我们不可以在Cookie方面来找DVWA的漏洞

 

 

最后一个功能就是编码功能:

Burp做的比OWASP_ZAP好一些

有时候我们想做一些注入,但目标服务器会过滤掉一些危险字符,这时候就需要我们对危险字符做一些编码

 友情链接: NPS