一、概述

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

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

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

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

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

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

...等等。

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

二、暴力破解一:基于表单的破解

这是最简单的一种模式,首先测试,随便输入一个用户名密码和正确的用户名密码返回值不同:

这样就可以暴力破解根据返回页面的不同数据区别

第一步:打开浏览器代理后直接用burp抓包,然后发送到intruder模块:

第二步:清除没用的变量,然后添加username和password变量,再选择攻击模式为cluster bomb

注意:这里补充一下各种攻击模式的区别:

  1. Sinper:一个变量设置一个payload进行攻击
  2. Battering ram:可以设置两个变量,把payload同时给两个变量
  3. Pitchfork:两个变量分别设置payload,然后按顺序一一对应进行破解
  4. Cluster bomb:两个变量分别设置payload,然后交叉列所有情况进行破解(常用)

第三步:设置payload

字典是我为实验方便写了几个简单的,可以按自己的字典:

第五步:option可以根据自己需要设置线程(有的好像不支持高并发):

注意:grep match这,大多数情况下我们根据返回页面的length不同观察,但是也可以自己设置falg:

第六步:可以看到暴力破解的结果得出用户名密码。

除了根据返回的length的不同之外,还可以根据是否有错误的返回的标志判断:

三、暴力破解之验证码的绕过(on client):

这一关虽然加了验证码,但是通过观察源码可以发现,输入的验证码是通过前端的js进行验证,很轻松就可以绕过,可以说形同虚设:

第一步:输入之后抓包,然后发送到repeater模块:

第二步:是否输入验证码,或者是否输入正确的验证码已经不会再检测:

第三步:在前端检测验证码,可以轻松绕过,然后发送到Intruder模块进行破解得出用户名密码。

四、暴力破解模块之验证码绕过(On Server)

观察源码,这个是在后端的检测的验证码,我们绕过的思路就是观察他产生的验证码有没有过期设置(用过一次刷新),如果没有默认的session就是24min刷新:

可以看到,输入错误的验证码会被检测到,因为检测是在后端完成。看似很严谨了,但是我们输入正确的验证码之后,验证码并没有过期,还可以继续使用。

然后就可以用这个正确的验证码,进行暴力破解,其余步骤相同:

五、暴力破解之token防爆破嘛?

答案是并不能。

分析:观察网页源码发现from表单除了提交username和password之外,还提交了一个hidden属性的token值:

这样每次提交要验证token值(每次更新),表面上可以防止。但是他后端产生的token每次以明文形式传到前端,就有了漏洞。

第一步:抓包之后,我们把token设置变量,options的grep extract添加token

第二步:token变量的type设置成recursive grep

第三步:attack得到用户密码。

注意:recursive grep类型只能单线程attack。然后除token外只有一个变量的话攻击类型可以设置成pitchfork一一对应的形式。

六、基本防范措施

1.设计安全的验证码(安全的流程+复杂而又可用的图形)

2.对认证错误的提交进行计数并给出限制,例如:连续5次输错,锁定一定时间

3.必要的情况下,使用双因素认证

Pikachu-暴力破解模块的更多相关文章

  1. pikachu学习-暴力破解模块

    安装好XAMPP,burpsuite,配置好pikachu我们就可以进行pikachu平台的漏洞学习 我这篇博客主要写暴力破解模块讲解,它分为4个小模块,分别是“基于表单的暴力破解”,“验证码绕过(o ...

  2. pikachu——暴力破解

    前述: 前面学习了sqli-labs 和 DVWA,也算是初步涉足了web漏洞,了解了一些web漏洞的知识.所以在pikachu上面,会更加仔细认真,把前面没有介绍到的知识点和我一边学习到的新知识再补 ...

  3. pikachu 暴力破解

    一 暴力破解 1.基于表单的暴力破解 先随意测试root/root登录,用Burp抓包,丢进Intruder 添加username和password两个参数变量,攻击类型选择Clusterbomb 有 ...

  4. 4. DVWA亲测暴力破解

    LOW等级 我们先用burpsuite抓包,因为burpsuite提供了暴力破解模块   我们先创建一个1.txt文件夹,把正确的账号密码写进去   我们输入 Username:1 Password: ...

  5. sqli-labs-master less05 及 Burp Suite暴力破解示例

    一.首先测试显示内容 例:http://localhost/sqli-labs-master/Less-5/?id=1 http://localhost/sqli-labs-master/Less-5 ...

  6. DVWA(二): Brute Force(全等级暴力破解)

    tags: DVWA Brute Force Burp Suite Firefox windows2003 暴力破解基本利用密码字典使用穷举法对于所有的账号密码组合全排列猜解出正确的组合. LEVEL ...

  7. 搭建pikachu平台及暴力破解

    一.先将Pikachu文件放在网站根目录下 二.修改pikachu网站的配置文件  inc/config.inc.php define('DBUSER', 'user'); define('DBPW' ...

  8. Pikachu练习平台(暴力破解)

    Pikachu练习平台(暴力破解) 因为下面要用到burp suite,这里先简单介绍一下intruder模块的东西 Target选项:        设置攻击目标,可以通过proxy发送 Pasit ...

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

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

随机推荐

  1. Linux alias 或者 unalias 设置别名

    设置别名 查看别名:alias 设置别名: 临时设置: alias show='ls -al' 上述设置方法存在一个问题,即设置的命令别名只针对当前回话有效,一旦连接断开并重连之前设置的别名别不在有效 ...

  2. php 基于redis使用令牌桶算法 计数器 漏桶算法 实现流量控制

    通常在高并发和大流量的情况下,一般限流是必须的.为了保证服务器正常的压力.那我们就聊一下几种限流的算法. 计数器计数器是一种最常用的一种方法,在一段时间间隔内,处理请求的数量固定的,超的就不做处理. ...

  3. easyswoole实现线上更新代码

    众所周知,easyswoole作为常驻内存的框架,修改代码并不能直接生效,而是需要重启服务,那么,当你的easyswoole项目上线之后,该如何保证旧请求的同时去更新代码呢? nginx reload ...

  4. 懂得分享 Linux 配置NFS共享服务

    部署YUM仓库及NFS共享服务一.YUM概述    YUM (Yellow dog Updater Modified)二.准备安装源    ① 软件仓库的提供方式    ② RPM软件包的来源    ...

  5. C语言:toascii()函数

    /* 头文件:#include <ctype.h> 定义函数:int toascii(int c); 函数说明:toascii()会将参数c 转换成7 位的unsigned char 值, ...

  6. final修饰符(7)-缓存实例的不可变类

    不可变类的实例状态不可改变,可以很方便地被多个对象所共享,可以考虑缓存这种不可变类的实例

  7. Pandas高级教程之:自定义选项

    目录 简介 常用选项 get/set 选项 经常使用的选项 最大展示行数 超出数据展示 最大列的宽度 显示精度 零转换的门槛 列头的对齐方向 简介 pandas有一个option系统可以控制panda ...

  8. python3.7 jack棋牌11点实例

    # -*- codeing: utf-8 -*- # Project: 棋牌游戏11点 # Author: jack # Version: 2.2 # Start Time: 2021-07-24 i ...

  9. PAT乙级:1082 射击比赛 (20分)

    PAT乙级:1082 射击比赛 (20分) 题干 本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军:谁差得最远,谁就是菜鸟.本题给出一系列弹洞的平面坐标(x,y),请你编写程序找 ...

  10. 【字符串+排序】宇宙总统 luogu-1781

    题目描述 地球历公元6036年,全宇宙准备竞选一个最贤能的人当总统,共有n个非凡拔尖的人竞选总统,现在票数已经统计完毕,请你算出谁能够当上总统. 分析 给字符串排个序. AC代码 #include & ...