目录

字典获取

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靶场暴力破解通关相关推荐

  1. pikachu靶场暴力破解专题

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

  2. Pikachu靶场-暴力破解

    1.暴力破解 1.Burte Force(暴力破解)概述 Burte Force(暴力破解)概述 "暴力破解"是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息 ...

  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靶场全级别通关教程详解

    pikach通关 暴力破解 Cross-Site Scripting XSS(跨站脚本)概述 跨站脚本漏洞类型及测试流程 跨站脚本漏洞常见类型 XSS漏洞形成的原因: 跨站脚本漏洞测试流程 tips ...

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

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

  8. Pikachu系列——暴力破解

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

  9. Pikachu之暴力破解

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

最新文章

  1. Go 学习笔记(34)— Go 方法声明、方法调用、方法值、方法表达式、切片对象方法、指针对象方法
  2. RHCE 学习笔记(7) 进程管理
  3. php 查看spl,PHP使用标准库spl实现的观察者模式示例
  4. oracle dbms_crypto,DBMS_CRYPTO包对Oracle加密
  5. vscode 里解决跨域的插件_VSCode里的逆天插件,可边写代码边画逻辑流程图了
  6. CSS三角制作(HTML、CSS)
  7. Activity初级:startActivityForResult、重写onActivityResult、setResult回传数据、requestCode请求码...
  8. 全国二级c语言公共基础知识,全国计算机二级C语言及公共基础知识复习资料
  9. 线性代数基本公式结论简要总结(1)
  10. 华为java面试题目,含面试题+答案
  11. Vue使用命令创建项目
  12. 六自由度机械臂研究(3)- 机械臂DH参数表建立
  13. java hotmail日历,我用java写的日历
  14. 【操作系统】存储模型(二):虚拟存储技术和置换算法
  15. PWM常见输出方法及避坑指南
  16. Android Studio如何查看自己创建的SQLite数据库
  17. 数据库设计1-数据库设计简述
  18. 推荐几款适合孩子玩的编程游戏
  19. python接口自动化项目_python接口自动化(四十二)- 项目结构设计之大结局(超详解)...
  20. 浅谈计通银行机房集中监控系统功能

热门文章

  1. 机械键盘简要介绍。。。。
  2. jq动态改变路径_在react中使用jQuery动态更改图片路径遇到的问题
  3. html和requests得基本用法
  4. 机器学习(四):w·x+b模型(1)
  5. python实现电话簿
  6. 黎曼积分求解可微曲线的弧线长度
  7. 一个人怎样才算见过世面?
  8. 【华为2019年校园招聘】2019-4-17 软件题-水果摊小买卖
  9. TearDrop拒绝服务攻击
  10. upupoo php,UPUPOO动态桌面下载