Pikachu靶场暴力破解通关
目录
字典获取
BP四种攻击模式
一、Sniper(狙击手模式)
二、Battering ram(攻城锤模式)
三、Pitchfork(叉子模式)
四、Cluster bomb(炸弹模式)
靶场练习
基于表单的暴力破解
验证码绕过(on server)
验证码绕过(on client)
token防爆破?
字典获取
在github里找到心仪的字典之后,拿字典的名字到gitee上搜索和下载
BP四种攻击模式
一、Sniper(狙击手模式)
将bp截的包各个用$$符号标记的数据进行逐个遍历替换
假设确定了两个位置A和B,然后密码包payload里有两个密码1、2,那么攻击模式如下:
一次只会对一个位置进行攻击
Attack No. | Position A | Position B |
0 | 1 | null |
1 | 2 | null |
2 | null | 1 |
3 | null | 2 |
二、Battering ram(攻城锤模式)
于sniper模式不同的地方在于,同样情况下,攻击次数减半,每次两个位置用同样的密码,如表:
Attack No. | Position A | Position B |
0 | 1 | 1 |
1 | 2 | 2 |
三、Pitchfork(叉子模式)
多组密码本payload,一一对应,现在添加包含3、4的密码本payload,暴力破解过程如表:
Attack No. | Position A | Position B |
0 | 1 | 3 |
1 | 2 | 4 |
pl1:1,2
pl2:3,4
那么第一爆破为 1,3
而二次爆破为2,4
四、Cluster bomb(炸弹模式)
跟叉子模式相似的是多个密码本对应多个位置,不同的是不再是一一对应,而是交叉组合,每一个密码本里的密码都对应于另一密码本所有密码,如表:
Attack No. | Position A | Position B |
0 | 1 | 3 |
1 | 2 | 3 |
2 | 1 | 4 |
3 | 2 | 4 |
靶场练习
基于表单的暴力破解
勾选爆破点
选择simple list并load字典文件
length排序后发现爆破成功
这里一共发了18(3*6)个请求,因为我们使用的是3*6的密码本且选择了Cluster bomb(炸弹模式)
验证码绕过(on server)
源码
if (strtolower($_POST['vcode']) != strtolower($_SESSION['vcode'])) {
$html .= "<p class='notice'>验证码输入错误哦!</p>";
//应该在验证完成后,销毁该$_SESSION['vcode']
}else{
$username = $_POST['username'];
$password = $_POST['password'];
$vcode = $_POST['vcode'];
$sql = "select * from users where username=? and password=md5(?)";
$line_pre = $link->prepare($sql);
$line_pre->bind_param('ss',$username,$password);
if($line_pre->execute()){
$line_pre->store_result();
//虽然前面做了为空判断,但最后,却没有验证验证码!!!
if($line_pre->num_rows()==1){
$html.='<p> login success</p>';
}else{
$html.= '<p> username or password is not exists~</p>';
}
用户名和密码输入错误值,当验证码是错误值时,返回提示验证码错误。用户名和密码输入错误值,当验证码是正确值时,返回提示用户名或密码不存在。并且每次提交都会自动刷新验证码,那有没有可能,我只要不在网页上点Login,不刷新网页,网页当前显示的验证码就一直有效呢?
可以看到验证码在判断完之后不会销毁,而是在页面刷新之后验证码才会刷新
只要我使用bp的重放攻击,页面是不会刷新的,那样就可以重复利用该验证码
验证码不用设置payload点,与当前页面显示的相同即可
依旧选择 Cluster bomb(炸弹模式),共发送5*6=30个包
跑出来两个账号
验证码绕过(on client)
用户名和密码输入错误值,当验证码是正确值时,返回提示用户名或密码不存在。用户名和密码输入错误值,当验证码是错误值时,有弹框提示验证码错误。验证码错误时有弹框这点,怀疑用户名和密码是在后端验证的,但验证码是在前端验证的。查看网页源代码,发现果然前端有检验验证码的js脚本,到目前为止一切就清楚啦,既然是前端检测,那直接用burpsuite发请求报文绕过前端就可以了。
这里输入的验证码要跟图片的一样,先过了前端检测才能抓到数据包,不然前端验证码检测没过他会弹窗,导致数据包无法抓取,也就不能暴力破解
抓取到数据包之后,故意将验证码随意修改,反正发到后端也不会检测
token防爆破?
服务器新增检测条件token,客户端每次访问都必须带着服务器下发的token,否则登录失败。
发现response中网页源代码有一个type为hidden,name为token的input标签,value和request报文的token不一样,应该是下一个报文的token。根据以上结果,下一次request需要携带的token就是上一次response中html代码中的隐藏字段值,也就是说request中的token是可以从上一个response中提取的。
第三个payload type设置为Recursive grep
Pikachu靶场暴力破解通关相关推荐
- pikachu靶场暴力破解专题
一.前言 pikachu是我作为初探渗透的平台,所以我会在每个专题前增加更多的基础知识,一是方便自己巩固基础,二是帮助一些也打算入门渗透的小白更好的理解. 二.暴力破解 pikachu靶场里给出的暴 ...
- Pikachu靶场-暴力破解
1.暴力破解 1.Burte Force(暴力破解)概述 Burte Force(暴力破解)概述 "暴力破解"是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息 ...
- pikachu靶场 暴力破解
目录 基于表单的暴力破解 验证码绕过(on server) 验证码绕过(on client) token防爆破? 基于表单的暴力破解 这一关没有防护,直接开始攻击过程 开启抓包,输入用户名admin, ...
- Pikachu靶场暴力破解关卡3
这是暴力破解关卡的第三关on client 正常做题思路 首先输入username,按提交看页面的显示 提示请输入验证码 接着输入password继续点击登录 又是请输入验证码 接着输入错误的验证码看 ...
- Burpsuite 工具(pikachu测试暴力破解)
文章目录 软件介绍 基本信息 安装步骤 pikachu测试暴力破解 软件介绍 Burp Suite 是用于攻击web 应用程序的集成平台,包含了许多工具.Burp Suite为这些工具设计了许多接口, ...
- Pikachu靶场全级别通关教程详解
pikach通关 暴力破解 Cross-Site Scripting XSS(跨站脚本)概述 跨站脚本漏洞类型及测试流程 跨站脚本漏洞常见类型 XSS漏洞形成的原因: 跨站脚本漏洞测试流程 tips ...
- pikachu练习---暴力破解-验证码
一.验证码绕过----server服务器 1.随意输入账号密码,并按图输入验证码,点击登录进行抓包 2.发送到repeater重发器,目的是为了验证"验证码无条件不刷新" 3.发到 ...
- Pikachu系列——暴力破解
Pikachu靶场系列开篇!持续更新~ 虽然是不新不旧的靶场,但是Web漏洞类型较多还算不错的 实验一 -- 暴力破解 实验环境 我用的是phpstudy集成环境,一键搭环境 (如果端口没被占用还是比 ...
- Pikachu之暴力破解
ps:火狐浏览器.phpstudy.pikachu.burpsuite 从来没有哪个时代的黑客像今天一样热衷于猜解密码--奥斯特洛夫斯基 首先让我们来看一下什么是暴力破解 接下来让我们开始今天正式的实 ...
最新文章
- Go 学习笔记(34)— Go 方法声明、方法调用、方法值、方法表达式、切片对象方法、指针对象方法
- RHCE 学习笔记(7) 进程管理
- php 查看spl,PHP使用标准库spl实现的观察者模式示例
- oracle dbms_crypto,DBMS_CRYPTO包对Oracle加密
- vscode 里解决跨域的插件_VSCode里的逆天插件,可边写代码边画逻辑流程图了
- CSS三角制作(HTML、CSS)
- Activity初级:startActivityForResult、重写onActivityResult、setResult回传数据、requestCode请求码...
- 全国二级c语言公共基础知识,全国计算机二级C语言及公共基础知识复习资料
- 线性代数基本公式结论简要总结(1)
- 华为java面试题目,含面试题+答案
- Vue使用命令创建项目
- 六自由度机械臂研究(3)- 机械臂DH参数表建立
- java hotmail日历,我用java写的日历
- 【操作系统】存储模型(二):虚拟存储技术和置换算法
- PWM常见输出方法及避坑指南
- Android Studio如何查看自己创建的SQLite数据库
- 数据库设计1-数据库设计简述
- 推荐几款适合孩子玩的编程游戏
- python接口自动化项目_python接口自动化(四十二)- 项目结构设计之大结局(超详解)...
- 浅谈计通银行机房集中监控系统功能