1.暴力破解

1.Burte Force(暴力破解)概述

Burte Force(暴力破解)概述

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

理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。 我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。 这里的认证安全策略, 包括:

1.是否要求用户设置复杂的密码;

2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp;

3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);

4.是否采用了双因素认证;

...等等。

千万不要小看暴力破解漏洞,往往这种简单粗暴的攻击方式带来的效果是超出预期的!

2.基于表单的暴力破解

1.进入靶场

2.账号密码随便输入,登录抓包,右键发送到intruder模块

3.把密码字段设置为变量

4.导入密码文件

5.设置线程

6.进行爆破

7.爆破完毕之后,对结果进行排序,点击数字不同的返回包,看是否登陆成功,如图所示,登陆成功

3.验证码绕过(on server)

1.进入靶场,可以看到本靶场需要输入验证码

2.账号密码随便输入,登录抓包,右键发送到intruder模块,先发到repeater重发器重放

3.再次发送发现验证码可重复使用,可以直接爆破

4.这一关的验证码是在后台服务端生成后放到前端客户端,如果后台服务端验证码刷新了,则上一次的验证码失效。

抓包后,发现验证码参数,经测试直接放入Intruder模块爆破即可,不要在Proxy->Intercept模块放包后刷新页面,因为刷新页面后后台服务端的验证码也会随之刷新,从而使上一次验证码失效,导致爆破不了。

5.接下来的步骤同上一题

6.请求包密码为123456,带着验证码参数请求

7.返回包中,返回了login success字样,成功爆破到密码

4.验证码绕过(on client)

1.进入靶场,可以看到本靶场需要输入验证码

2.客户端自己验证自己,就是一切都用户说了算。f12开发者模式查看网页源码发现验证码的生成和验证码的校验都是通过前段实现的

弹框,也可以说明是前端javascript验证验证码

3.账号密码随便输入,登录抓包

4.过关方法

(1)这一关的验证码是在前端客户端生成的,所以将验证码参数删除,右键发送到intruder模块

(2)禁用浏览器js脚本,验证码就不会显示了

首先网站是有验证码的

谷歌浏览器禁用js

刷新页面,验证码就消失了,就可以继续爆破了

(3)只要正确填写过一次验证码(注意它这里的验证码是区分大小写),让burp抓到包就可以爆破了

5.接下来的步骤同上一题

6.可以看到请求包中并没有验证码参数

7.返回包中,返回了login success字样,成功爆破到密码

5.token防爆破

token防爆破?

查看源码我们会就会发现,每次请求里面都会加上token的值,所以如果我们爆破的话,每次爆破,都要有三个参数,分别是username,password,token,比较麻烦,这里提供两种方法,第一种使用burpsuite进行暴力破解,第二种方法是使用python脚本。

第一种方法,使用burpsuite神器进行暴力破解

1.进入靶场

2.抓取数据包可以看到请求头中有token参数,重放两次数据报后会提示token错误

3.通过测试发现每个数据包的token在变化,尝试使用pitchfork进行爆破

具体设置如下:

选择pitchfork进行爆破,添加密码和token变量

4.因为token值是单次传递的,所以线程数改为1

5.在GREP-Extract中获取响应包,从中提取参数。选中token值,这个时候工具会自动编辑规则,复制token值备用。点击ok。

6.在页面最底部找到always选项

7.回到payloads模块,正常添加第一个变量密码的字典

8.第二个变量选择递归搜索(Recursive grep)

9.返回包中,返回了login success字样,成功爆破到密码

第二种方法,通过burpsuite截断信息,我们可以获取cookie及post提交的字段信息;

根据获取到的信息编写Python脚本,python脚本如下:

import requests
from bs4 import BeautifulSoup
s = requests.session()
password = ['123', '456', '123456', '67899']
# 设置http请求头部信息
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'' (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36','Cookie': 'PHPSESSID=of5tkhcr385na1oij0h90vr1r0'
}
req = s.get('http://x.x.x.x/vul/burteforce/bf_token.php#')
# token验证
token= BeautifulSoup(req.text,'lxml').find('input',{'name':'token'}).get('value')
for pa in password:# 基于表单的暴力破解# req=s.post(url='http://x.x.x.x/vul/burteforce/bf_form.php',data={'username':'admin','password':pa,'submit':'Login'})# 验证码绕过(on server)未失效,可重复使用# data = {'username': 'admin', 'password': pa, 'vcode': '14xkgk', 'submit': 'Login'}# req = requests.post(url='http://x.x.x.x/vul/burteforce/bf_server.php',#                     data=data, headers=header)# 基于client端验证码,后台无校验# req=s.post(url='http://x.x.x.x/vul/burteforce/bf_token.php',data={'username':'admin','password':pa,'submit':'Login'})# 基于token验证req=s.post(url='http://x.x.x.x/vul/burteforce/bf_token.php#',data={'username':'admin','password':pa,'token':token,'submit':'Login'})if 'success' in req.text:print("爆破成功,用户名:admin,密码为:%s" % pa)breakelse:req = s.get('http://x.x.x.x/vul/burteforce/bf_token.php#')token = BeautifulSoup(req.text, 'lxml').find('input', {'name': 'token'}).get('value')

此脚本来源于【信息安全】暴力破解-Python工具篇_d41b的博客-CSDN博客_信息安全python脚本

脚本成功运行后,爆破到密码,如下图

免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。

转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。

博客:
儒道易行

FreeBuf:
国服最强渗透掌控者 - FreeBuf网络安全行业门户

公众号:
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5NTU2NjA1Mw==&action=getalbum&album_id=1696286248027357190&scene=173&from_msgid=2247485408&from_itemidx=1&count=3&nolastread=1#wechat_redirect

CSDN:
儒道易行的博客_CSDN博客-领域博主

先知社区:
先知社区

Pikachu靶场-暴力破解相关推荐

  1. pikachu靶场暴力破解专题

     一.前言 pikachu是我作为初探渗透的平台,所以我会在每个专题前增加更多的基础知识,一是方便自己巩固基础,二是帮助一些也打算入门渗透的小白更好的理解. 二.暴力破解 pikachu靶场里给出的暴 ...

  2. Pikachu靶场暴力破解通关

    目录 字典获取 BP四种攻击模式 一.Sniper(狙击手模式) 二.Battering ram(攻城锤模式) 三.Pitchfork(叉子模式) 四.Cluster bomb(炸弹模式) 靶场练习 ...

  3. pikachu靶场 暴力破解

    目录 基于表单的暴力破解 验证码绕过(on server) 验证码绕过(on client) token防爆破? 基于表单的暴力破解 这一关没有防护,直接开始攻击过程 开启抓包,输入用户名admin, ...

  4. Pikachu靶场暴力破解关卡3

    这是暴力破解关卡的第三关on client 正常做题思路 首先输入username,按提交看页面的显示 提示请输入验证码 接着输入password继续点击登录 又是请输入验证码 接着输入错误的验证码看 ...

  5. Burpsuite 工具(pikachu测试暴力破解)

    文章目录 软件介绍 基本信息 安装步骤 pikachu测试暴力破解 软件介绍 Burp Suite 是用于攻击web 应用程序的集成平台,包含了许多工具.Burp Suite为这些工具设计了许多接口, ...

  6. pikachu练习---暴力破解-验证码

    一.验证码绕过----server服务器 1.随意输入账号密码,并按图输入验证码,点击登录进行抓包 2.发送到repeater重发器,目的是为了验证"验证码无条件不刷新" 3.发到 ...

  7. Pikachu系列——暴力破解

    Pikachu靶场系列开篇!持续更新~ 虽然是不新不旧的靶场,但是Web漏洞类型较多还算不错的 实验一 -- 暴力破解 实验环境 我用的是phpstudy集成环境,一键搭环境 (如果端口没被占用还是比 ...

  8. Pikachu之暴力破解

    ps:火狐浏览器.phpstudy.pikachu.burpsuite 从来没有哪个时代的黑客像今天一样热衷于猜解密码--奥斯特洛夫斯基 首先让我们来看一下什么是暴力破解 接下来让我们开始今天正式的实 ...

  9. pikachu靶场之暴力破解

    目录 一.什么是暴力破解 二.burpsuite四种攻击类型 1. sniper(狙击手模式) 2. battering ram(攻城锤模式) 3. pitchfrk(音叉模式) 4. cluster ...

最新文章

  1. 【lidar】基于YOLO的3D目标检测(激光雷达点云)课程设计
  2. 迁移学习之VGG16和VGG19
  3. 批处理解决本地连接无法禁用问题
  4. struts2 action之间参数的传递
  5. pytest使用简介
  6. 东软java的笔试_东软的笔试题
  7. eclipse 中自定义EL表达式时创建tld文件
  8. A little something to get you started
  9. linux输入qsub显示错误,linux – 使用qsub运行shellscript的’意外的文件结束’和’错误导入功能定义’错误...
  10. C语言文件与数组之间输入输出操作
  11. 记:Ubuntu 14.04 安装32位库支持库失败
  12. Transformer-XL: Attentive Language ModelsBeyond a Fixed-Length Context 论文总结
  13. ios与android设备即时语音互通的录音格式预研说明
  14. 解决hash冲突的三个方法
  15. ArcGIS Maritime Server 开发教程(二)ArcGIS 海图软件系列
  16. C++中回调(CallBack)的使用方法
  17. 让人耳目一新的四款高质量软件,简约又实用,每一款都值得收藏
  18. 根据单词列表通过网络下载单词发音
  19. 转载---英语 是否 双写 规则
  20. MBA-day17 假言推理:如果的考法与题型

热门文章

  1. 二年十五文学展第一季 - 知乎
  2. ES6特性:Promise
  3. 【前端知识点】promise简书-30分钟带你搞懂promise面试必备
  4. ABAP ALV DATA_CHANGED 函数使用说明 (ALV备忘二)
  5. Python使用天气网api接口获取天气数据
  6. NEFU ERP 企业资源计划[1] 详细知识点
  7. 【TUN模式】对QQ或者微信域名、QQ邮箱、微信公众号文章、微信开发者社区相关的网站访问非常慢、图片加载不出来、网页空白的解决方案
  8. 微信小程序 —— 图片自适应后去掉底部的白边
  9. 如何快速开设海外银行账户
  10. 哪款蓝牙耳机的续航比较好?四款续航时间长的蓝牙耳机测评