这几天的笔记都懒得发博客都写在本地了,随缘搬上来

什么是暴力破解

就是在攻击者不知道目标账号密码情况下的,对目标系统的常识性登陆

一般会采用一些工具+特定的字典 来实现高效的连续的尝试性登陆

一个有效的字典,可以大大提高暴力破解的效率

à常用的账号密码(弱口令),比如常用用户名/密码top 500等

à社工库

à使用指定的工具来生成字典

如果一个网站没有对登陆接口实施防暴力破解的措施,或者实施了不合理的措施。则该称该网站存在暴力破解漏洞。

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

2. 是否每次认证都使用安全的验证码

3. 是否对尝试登陆的行为进行判断和限制

4. 是否在必要的情况下采用了双因素认证

5. …等等

暴力破解漏洞测试流程

  1. 确认登陆接口的脆弱性,尝试登陆---抓包---观察验证元素和返回的信息,判断是否存在被暴力破解的可能,例如测试是否有连续登陆几次就要过一段时间登陆的风控规则。或者查看报错是返回”账号或密码错误”还是返回”密码错误”来判断自己的用户名是否猜对了。
  2. 对字典的优化,根据实际情况对字典进行优化,可以先自己注册一个账号,看看网站对账号密码的需求,再筛选出合适的密码做成字典,提高爆破的效率
  3. 工具的自动化操作,配置自动化工具,比如线程,超时时间,重试次数等,进行自动化的操作

针对pikachu靶场的基于表单的暴力破解

随便传一个值进行抓包

发到爆破模块

选择Cluster bomb的攻击方式

选择username和password两个参数

配置好payload

就可以开始爆破,

还有一个地方值得注意

这里可以判断你请求的页面是否返回了这个list里面的内容

这样我们可以把登陆时账号或密码的错误提示放到这里面

这样在我们大量重发的时候就可以根据有没有返回到这个错误来判断账号密码是否爆破成功

例如

当我们密码输出错误的时候会弹出这样的错误信息

我们就可以把这个错误信息放到Grep-Match里面

我们再次进行爆破试试看

这里就会多出一列来判断是否返回了你设置的信息,这算一个小技巧吧

当然也可以用length来进行判断

暴力破解的防范与绕过

验证码的认证流程:

  1. 打开登陆页面,向后台发送一个请求,当后台收到请求以后,会调用一个生成验证码的函数去生成一个验证码,回到前端变成一个图片返回给你,同时将函数生成的值存到session中。
  2. 用户输入账号密码验证码提交的时候,后台对提交的验证码与session中的进行比较
  1. 如果验证成功就会提示你成功,如果验证失败就提示失败,然后后台会将现在的验证码销毁,验证码一定是要一次一用的。
  1. 后台一般也会对验证码设置一个超时时间,如果超过规定的比如一分钟,没有从前端获取到验证码信息,那就需要重新获取一次验证码。

绕过服务端的验证码验证

首先先踩点

当全部都是错的时候

会返回验证码输入错误

当验证码输入正确的时候,那就会返回用户名或密码错误

抓包

在我们的登陆页面刷新一个新的验证码

把新的验证码替换到我们抓的包里

发现服务端返回的是用户名或者密码错误,这说明了,我们的验证码起作用了,那么就可以放到爆破模块中进行爆破

这样就爆破成功了

源码内应该在后面一行保证验证码一次一用的原则

绕过客户端的验证码验证

验证码直接在前端的js进行生成

那我们可以先通过前端的验证,再用bp后端发包,这样就可以绕过前端的js验证

抓到包以后放到重发器中,换了账号密码再发一次,

发现这里只在前端做了验证并没有再在后端再做一次验证,这样又可以爆破了,爆破的过程就不再演示了。。

token能防爆破吗

答案是不能的

在前端我们看到了token

我们只要写个脚本获取到每次刷新了页面的token,再进行重发,这样token就形同虚设

关于暴力破解的一些学习笔记(pikachu)的更多相关文章

  1. XSS跨站脚本攻击学习笔记(pikachu)

    颓废了几天,该好好努力了. XSS概述 XSS漏洞是web漏洞中危害较大的漏洞,是一种发生在web前端的漏洞,所以危害的对象也主要是前端用户,XSS可以用来进行钓鱼攻击,前端js挖矿,获取用户cook ...

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

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

  3. 学习笔记:暴力破解WIFI小软件

    小弟 自己的学习笔记,做练习的 ,缺陷还很多,做到无法解决速度问题就不想做下去了,如果要看的话 主要是思路问题,获取句柄,控制句柄而已,代码比较简单.大神勿喷啊 破解DEMO源码:http://dow ...

  4. pikachu——暴力破解

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

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

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

  6. Pikachu漏洞练习平台实验——暴力破解(一)

    概述 一个有效的字典可以大大提高暴力破解的效率 比如常用的用户名/密码TOP500 脱裤后的账号密码(社工库) 根据特定的对象(比如手机.生日和银行卡号等)按照指定的规则来生成密码 暴力破解流程 确认 ...

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

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

  8. DVWA-暴力破解学习笔记

    DVWA-暴力破解 1.暴力破解 2.burp安装证书 3.万能密码 一.暴力破解 burp四种暴力破解类型: sniper   一个字典,两个参数,先匹配第一项再匹配第二项 Battering ra ...

  9. 【Linux笔记】阿里云服务器被暴力破解

    一.关于暴力破解 前几天新购进了一台阿里云服务器,使用过程中时常会收到“主机被暴力破解”的警告,警告信息如下: 云盾用户您好!您的主机:... 正在被暴力破解,系统已自动启动破解保护.详情请登录htt ...

随机推荐

  1. USACO07MAR Face The Right Way G 差分

    题目链接 https://www.luogu.com.cn/problem/P2882 分析 这个题来看的话好像有点难下手,不如再去读一遍题 N遍,发现一句话很重要Each time the mach ...

  2. Spring Boot 整合视图层技术,application全局配置文件

    目录 Spring Boot 整合视图层技术 Spring Boot 整合jsp Spring Boot 整合freemarker Spring Boot 整合视图层技术 Spring Boot 整合 ...

  3. 深入解读ES6系列(四)

    来自老曾es6的前言: 哈喽小伙伴们,爱说'废'话的Z又回来了,欢迎来到Super IT曾的博客时间,上一节说了字符串,面向对象以及json的知识,这一节我们继续我们知识的海洋,一起奋斗不秃头!不足的 ...

  4. C++头文件应该干的事情

    C++头文件应该干的事情 最近在写自己项目的时候,头文件老是编译错误,后来发现还是对头文件掌握不牢. 头文件应该干什么? 所谓的头文件,其实它的内容跟 .cpp 文件中的内容是一样的,都是 C++ 的 ...

  5. 【mysql】用navicat无法连接mysql时解决方法

    1.进入数据库 2.输入 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

  6. 记一次mysql多表查询(left jion)优化案例

    一次mysql多表查询(left jion)优化案例 在新上线的供需模块中,发现某一个查询按钮点击后,出不来结果,找到该按钮对应sql手动执行,发现需要20-30秒才能出结果,所以服务端程序判断超时, ...

  7. beanshell自定义聚合报告时分线程组阶段展示

    假设现在一共会加载100个线程,期望聚合报告中分别展示1-20,20-40,40-60,60-80的四个阶段的线程并发性能数据,而不是总体的统计数据 beanshell脚本,具体内容: import ...

  8. Powershell抓取网页信息

    一般经常使用invoke-restmethod和invoke-webrequest这两个命令来获取网页信息,如果对象格式是json或者xml会更容易 1.invoke-restmethod 我们可以用 ...

  9. 萌新带你开车上p站(Ⅳ)

    本文作者:萌新 前情回顾: 萌新带你开车上p站(一) 萌新带你开车上p站(二) 萌新带你开车上P站(三) 回顾一下前篇,我们开始新的内容吧 0x12 登录后看源码 通读程序,逻辑是这样子的: 输入6个 ...

  10. java 代码执行cmd 返回值异常 (关于JAVA Project.waitfor()返回值是1)

    关于JAVA Project.waitfor()返回值是1   0条评论 Project.waitfor()返回值是1,找了很久从网上没有发现关于1的说明. 这时对源代码调试了一下,发现Project ...