Kali 测试:使用Burp Suite 对网络认证服务的攻击(二)

简介: Kali 渗透测试:使用Burp Suite 对网络认证服务的攻击(二)

接上文。Kali 渗透测试:使用Burp Suite 对网络认证服务的攻击(一)https://developer.aliyun.com/article/new/security?

我们要选择放行之前的数据包,这样才能正常访问登录界面。执行的方法就是单击上图中红框内的“Forward”,没在浏览器执行一次操作,都需要执行一次放行操作。进入登录界面,如下图所示:

image.png

接下来构造登录数据包,在上图中的登录界面中,输入一个用户名admin(假设我们已经知道用户名admin,密码未知),随意输入一个密码,如“000000”,然后单击“Login”按钮,如下图所示:

image.png

切换到Burp Suite, 这时的“Intercept”变成黄色,表示截获到了数据包,这个数据包的格式如下图所示,最关键的是红框内部分,截获到的登录数据包:

image.png

单击鼠标右键,选择Send to Intruder,如下图所示:
image.png

然后单击“Intruder”选项卡,并在其中选择“Positions”,如下图所示:
image.png

在这个模块中,我们需要向Burp Suite指明密码所在的位置,在这操作界面中,Burp Suite虽然不能确切的知道密码所在的位置,但是它给出了4个可能的位置,也就是上图中带灰色底纹的部分。Burp Suite中使用一堆“§”来表示密码的区域,我们单击右侧的“Clear §”按钮,清除所有默认的参数,如下图所示:

image.png

然后把光标移动到密码位置,也就是“000000”的前面,单击按钮“Add §”。这样就成功地标识出来密码的位置,如下图所示:

image.png

切换到“Payloads”选项,选择要使用的Payload set, 这里我们选择要设定进行密码破解目标的个数,如我们只破解密码,这里Payload set处就要选择1;如我们既不知道用户名也不知道密码,这里Payload set处就要选择2。Payload type 选择“Simple list”, 如下图所示:
image.png

接下来我们要加入使用的字典,点击“Load”按钮,如下图所示:

image.png

这里我们选择“small.txt”作为破解的字典(small.txt里面实际上没有这次实验的密码123456,我们需要手动添加一行内容123456以保证实验成功,如果实际应用可以使用较大字典)如下图所示:
image.png

设置完成之后,单击菜单栏的“Intruder”,切换到“Payloads”,选择“Start attack”,如下图所示:
image.png

现在就开始扫描了,因为免费版限制了多线程,所以攻击过程十分漫长,如下图所示:

image.png

扫描到部分内容的时候,我们可以按照Status列或者Length列进行排序。以Status列为例,我们会看到所有数据包该列的值均为200,如图所示。在这种情况下,我们就要查看Length值,一般Length的值与其他数据包不同的话就代表是正确的。但是这种判断方式的结果并不精确,除了123456返回的长度不一样之外,0返回的长度也不一样,我们应该尝试更好的方式。如登录成功的话,界面下方会出现“login success”,如下图所示,登录失败的话则不会。

image.png

我们可以尝试判断每一个Response中是否包含“login success”,如果包含则表示成功,否则表示失败。可以看到Response中包含“login success”,如下图所示:

image.png

在“Options”中有一个“Grep-Match”,里面有一个匹配选项,我们首先使用“Clear”按钮清空里面的内容,然后将“login success” 添加到表中,如下图所示:
image.png

然后单击“Start attack”, 执行时可以看到里面多了“login success”列, 如下图所示:

image.png

可以看到,只有123456的Response中包含了“login success”。如果用户名和密码都不知道,可以重复之前的动作。如下图所示,需要同时为admin 和000000添加“§”。
image.png

这时Attack type一共有4种可选类型,分别是Sniper、Battering ram、Pitchfork以及Cluster bomb,如下图所示:

image.png

这4种类型中我们主要是使用其中的Sniper和Cluster bomb。Sniper类型主要应用于一个位置(如已知用户名,不知道密码)时。Cluster bomb类型主要应用于两个位置(用户名和密码都不知道)时,它要使用两个Payload,然后将两个Payload里面的内容进行笛卡尔积运算。如Payload1里面的内容a、b;Payload2里面的内容1、2,就会产生以下组合。

◆ Usrname: a; password:1。

◆ Usrname: a; password:2。

◆ Usrname: b; password:1。

◆ Usrname: b; password:2。

使用Burp Suite来同时破解用户名和密码很简单,只需要在上图中选择“Cluster bomb”, 然后分别选择Payload set中的1和2即可,如下图所示:
image.png

使用Burp Suite是一种十分通用的办法,但是实际中这种暴力破解方式很难成功,因为消耗的时间资源太多。如果目标网站设置了验证码或者限制登录次数,还需要考虑是否可以绕过。

相关文章
|
6天前
|
网络协议 安全 Linux
Kali渗透测试:拒绝服务攻击(一)
Kali渗透测试:拒绝服务攻击(一)
33 2
|
6天前
|
存储 网络协议 安全
Kali渗透测试:拒绝服务攻击(二)
Kali渗透测试:拒绝服务攻击(二)
52 0
|
6天前
|
安全 网络安全 数据库
Kali测试:散列密码破解(一)
Kali渗透测试:散列密码破解(一)
|
6天前
|
安全 应用服务中间件 网络安全
Kali测试:散列密码破解(二)
Kali渗透测试:散列密码破解(二)
20 0
|
6天前
|
Web App开发 测试技术 网络安全
Kali 测试:使用Burp Suite 对网络认证服务的攻击(一)
Kali 渗透测试:使用Burp Suite 对网络认证服务的攻击(一)
20 0
|
6天前
|
算法 网络协议 网络安全
Kali渗透测试:身份认证攻击
Kali渗透测试:身份认证攻击
20 0
|
1月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
142 7
Jmeter实现WebSocket协议的接口测试方法
|
1月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
138 3
快速上手|HTTP 接口功能自动化测试
|
7天前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
15 0
|
1月前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
34 5