pikachu 靶场搭建与密码爆破

数据库密码配置
/pikachu/inc/config.inc.php 文件配置数据库连接密码

pikachu 靶场搭建与密码爆破_第1张图片

初始化
访问 /pikachu/install.php 初始化

pikachu 靶场搭建与密码爆破_第2张图片

pikachu 暴力破解
基于表单
提示

pikachu 靶场搭建与密码爆破_第3张图片
用户名已知
如 admin

输入用户名和密码(随便),开启代理拦截

pikachu 靶场搭建与密码爆破_第4张图片

BurpSuite 抓包,发送到 Intruder 模块

pikachu 靶场搭建与密码爆破_第5张图片

为密码添加有效载荷

pikachu 靶场搭建与密码爆破_第6张图片

手动添加可能的密码或载入密码字典

pikachu 靶场搭建与密码爆破_第7张图片

开始爆破,查看验证特殊的返回包

pikachu 靶场搭建与密码爆破_第8张图片

成功爆破密码

pikachu 靶场搭建与密码爆破_第9张图片

用户名未知
随便输入用户名和密码,提交登录请求并拦截

发送到 Intruder 模块

pikachu 靶场搭建与密码爆破_第10张图片

为用户名和密码都添加有效载荷

pikachu 靶场搭建与密码爆破_第11张图片

攻击模式选择 Cluster bomb(集束炸弹)

pikachu 靶场搭建与密码爆破_第12张图片

第一个有效载荷载入用户名字典

pikachu 靶场搭建与密码爆破_第13张图片

第二个有效载荷载入密码字典

pikachu 靶场搭建与密码爆破_第14张图片

成功爆破出三个用户及密码

pikachu 靶场搭建与密码爆破_第15张图片

验证码绕过(Server)
漏洞点
用户名密码随便填写,验证码正确填写

pikachu 靶场搭建与密码爆破_第16张图片

提交请求,BurpSuite 抓包拦截,发送到 Repeater 模块

pikachu 靶场搭建与密码爆破_第17张图片

验证码正确,用户名或密码错误返回以下内容

pikachu 靶场搭建与密码爆破_第18张图片

当验证码和用户名密码都错误时显示验证码错误

pikachu 靶场搭建与密码爆破_第19张图片

而当再次输入刚刚正确的验证码时,显示用户名或密码不存在,说明一次抓包,验证码可重复利用

pikachu 靶场搭建与密码爆破_第20张图片

爆破
将包含正确验证码的登录报文发送到 Intruder 模块

pikachu 靶场搭建与密码爆破_第21张图片

选择 Cluster bomb 模式,为用户名和密码添加有效载荷

pikachu 靶场搭建与密码爆破_第22张图片

第一个有效载荷添加用户名字典

pikachu 靶场搭建与密码爆破_第23张图片

第二个有效载荷载入密码字典,开始爆破

pikachu 靶场搭建与密码爆破_第24张图片

成功爆破出三个账密

pikachu 靶场搭建与密码爆破_第25张图片

验证码绕过(Client)
漏洞点
测试

用户名、密码、当验证码都错误时弹出验证码错误

pikachu 靶场搭建与密码爆破_第26张图片

查看提示

pikachu 靶场搭建与密码爆破_第27张图片

根据提示查看前端代码

pikachu 靶场搭建与密码爆破_第28张图片

直接在浏览器中禁用 JS,随便输入用户名密码,不弹出验证码错误,说明成功绕过

pikachu 靶场搭建与密码爆破_第29张图片

爆破
BurpSuite 抓包爆破,同之前一样

成功爆破

pikachu 靶场搭建与密码爆破_第30张图片

token
原理
token机制流程

客户端使用用户名和密码请求登录。

服务端收到请求,验证用户名和密码。

验证成功后,服务端会生成一个token,然后把这个token发送给客户端。

客户端收到token后把它存储起来,可以放在cookie或者Local Storage(本地存储)里。

客户端每次向服务端发送请求的时候都需要带上服务端发给的token。

服务端收到请求,然后去验证客户端请求里面带着token,如果验证成功,就向客户端返回请求的数据。

每次刷新页面都会产生新的token

pikachu 靶场搭建与密码爆破_第31张图片

爆破 admin 密码
输入用户名 admin,随便输入密码,提交,BurpSuite 拦截,发送到 Intruder 模块

选择 Pitchfork 模式,并为密码、token 值添加有效载荷

pikachu 靶场搭建与密码爆破_第32张图片

在 Options > Grep-Extraxt 中点击 add

pikachu 靶场搭建与密码爆破_第33张图片

点击 fetch response 获取回复

pikachu 靶场搭建与密码爆破_第34张图片

复制返回报文中的 token 值

pikachu 靶场搭建与密码爆破_第35张图片

并点击 ok

pikachu 靶场搭建与密码爆破_第36张图片

payload 1 正常设置密码字典

payload 2 设置为 Recursive grep(正则表达式,可以过滤字符),将复制的 token 粘贴到 Payload Options 下的 Initial payload for first request 中

pikachu 靶场搭建与密码爆破_第37张图片

设置单线程攻击(high模式防止暴力破解禁止多线程,一个token值只能用于一次登录)

pikachu 靶场搭建与密码爆破_第38张图片

开始攻击,成功爆破

pikachu 靶场搭建与密码爆破_第39张图片

你可能感兴趣的:(web安全)