手把手教你暴力破解

这篇具有很好参考价值的文章主要介绍了手把手教你暴力破解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

暴力破解

一、什么是暴力破解?

暴力破解是一种攻击手段,使用大量的认证信息在认证接口尝试登录,直到得到正确的结果。

二、暴力破解弱口令实验

实验环境:DVWA

2.1标题基于表单的暴力破解

2.1.1 第一步:打开burpsuite拦截
随便输入用户名和密码

手把手教你暴力破解
手把手教你暴力破解

2.1.2 第二步:将拦截到的包右击发送到intruder模块

(其中简单介绍一下intruder模块)
手把手教你暴力破解

Target主要是设置暴力破解访问的host地址和对应的端口号。
手把手教你暴力破解

2.1.3 第三步:选择我们要破解的变量
这里假设用户和密码都不确定

手把手教你暴力破解

 Positions设置是选择我们要暴力破解的位置。在默认情况下,burp会自动将所有的变量都勾选上。选择clear$,此时所有默认的爆破点都已消失;选择我们需要暴破的变量。
2.1.4 第四步:暴力破解时根据具体情况进行选择attract type

上面有两个变量,选择cluster bomb 逐项的去匹配变量

2.1.5 Attack Type 攻击类型

Sniper
只需要指定一个payload set,无论position有几个变量,都是一个payload set,但会针对每个变量逐项替换。
手把手教你暴力破解

Battering ram
无论Positions中有几个变数,都是一个Payload Set。并且每个变量位置的值都会是一样的
手把手教你暴力破解
手把手教你暴力破解

Pitchfork
不能只输入一个字典,每个变量要有自己的字典文件,也就是说每个变量有一个属于自己的Payload set,但是要注意的是每个Payload set里面的payload个数要一样;采用一对一的匹配关系
多出来的那些payload不会被送出去而已
手把手教你暴力破解
手把手教你暴力破解

Cluster bomb
每个变量都要输入字典,但是不会像Pitchfork是一对一的关系,而是每个都会去尝试到,逐项地去尝试一多对的方式。
手把手教你暴力破解
手把手教你暴力破解

Payloads 用来配置一个或多个有效负荷的集合
手把手教你暴力破解

Payloads set 指定需要配置的变量
Simple list是最基本的,用法很简单,可以直接输入按Add,也可以上传文档。虽然这边我们demo都是手动输入,不过实际上要执行暴力破解等动作,通常Payload一定会是很大量的,用手输入可能会累死,所以实际上都是用选择上传文件的方式。(这里基本只用simple list,所以只介绍simple list)

2.1.6 第五步:设置两个payload

前面我们添加了两个变量,所以需要设置两个payload
手把手教你暴力破解
手把手教你暴力破解
手把手教你暴力破解

可以加载自己下载的字典,也可以手动输入;一般情况下选择load去加载字典进行暴破,这里在下方ADD处手动添加
Payload Processing
可以对发出去的Payload进行加工处理,例如可以加入前缀、后缀字符、只截取字符串的某一部分等;后缀常见的可能像是Email结尾的字符,比如@gmail.com之类的。可以利用match替换,可以反转,可以编码,很多方法可以选择。
手把手教你暴力破解

2.1.7 第六步:开始暴破

手把手教你暴力破解

options 模块选择攻击的线程等(多线程有助于加快破解速度),由于我添加的猜测数据较少,可以直接攻击,点击 start attack,得到最终的结果。我们可以根据 status 和 length 两个模块来判断是否成功。此处发现请求length与别的不同,重点关注4644的response可以看到暴破成功
手把手教你暴力破解

2.2 暴力破解之绕过 token

2.2.1 token的原理和作用

token是用于验证身份的,在web系统中验证前端是否能够访问后端系统
是服务端生成的一串字符串,以作前端进行请求的一个令牌,当第一次登录后,服务器生成一个token并返回给前端,之后前端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。

2.2.2 第一步 打开burpsuite拦截
在DVWA登录页面随便输入用户名和密码

手把手教你暴力破解

2.2.3 第二步:将拦截到的包右击发送到intruder模块

手把手教你暴力破解

2.2.3 第三步 选中需要破解的变量

(这里用户名已知正确,选择密码和token)
手把手教你暴力破解

2.2.4 第四步 根据具体情况进行选择attract type

将attract type改为pitchfork,pitchfork简单理解就是你设置了几个变量,他就能用几个payload,我们设置了2个变量,就有2个payload,并且一一对应。
手把手教你暴力破解

2.2.5 第五步 设置跟随重定向

在opotion模块中redirections的follow redirections改为“always”
手把手教你暴力破解

2.2.6 第六步 在grep-extract中点击add,选择refetch response

手把手教你暴力破解

记住token的值,后面需要用。

2.2.7第七步 修改线程

payload1为单线程即可(因为 token 是一对一的关系,当第二个 token 产生,第一个 token 就会消失,所以需要将线程调整至 1。)
手把手教你暴力破解

如不修改线程,则会报错,显示多线程冲突
手把手教你暴力破解

2.2.8 第八步 加载字典

手把手教你暴力破解

payload type选择recursive grep(递归查找)
将刚才复制的token粘贴到payload
手把手教你暴力破解

2.2.9 第九步 开始爆破

根据 status 和 length 两个模块来判断是否成功。此处发现请求length与别的不同,重点关注4723的response可以看到暴破成功。
手把手教你暴力破解
手把手教你暴力破解

2.2.10 token防暴破的弊端

token值输出在前端源码中,容易被获取,因此也就失去了防暴力破解的意义。

三、如何防御暴力破解攻击?

人为层面:增强密码安全性

提升密码长度和复杂度
密码应由数字、大小写字母和特殊符号混合组成,且密码越长,破解密码的时间就会成指数增加,一旦密码超过了某个长度,基本上就不能用暴力破解了。例如,使用破解的服务器集群,每秒可以尝试3500亿次,这个速度破解6位密码只需要4.08秒,7位密码只需6.47分钟,8位密码需要10.24小时,9位密码需要40.53天,10位密码就需要10.55年了。
在不同的地方使用不同的密码
重复使用电子邮件、银行和社交媒体帐户的密码更可能导致身份被盗用。可以将网站的缩写作为密码的后缀,例如登陆QQ的密码是Hl9tysY.qq,登陆微博的密码是Hl9tysY.wb,这样每个网站都有独立的密码且不容易忘记。
避免使用字典单词、数字组合、相邻键盘组合、重复的字符串。例如 password 、12345678、asdfg 、aaaa 或 123abc。
避免使用名字或者非机密的个人信息(电话号码、出生日期等)作为密码。
定期修改密码

系统层面:做好密码防暴力破解设计

系统设计时考虑以下几个方面:
锁定策略:输错密码几次就锁定一段时间。
验证码技术:要求用户完成简单的任务才能登录到系统,用户可以轻松完成,但暴力工具无法完成。例如图形验证码、短信等。
密码复杂度限制:强制用户设置长而复杂的密码,并强制定期更改密码。
双因子认证:结合两种不同的认证因素对用户进行认证的方法。例如密码、身份证、安全令牌、指纹、面部识别、地理信息等。文章来源地址https://www.toymoban.com/news/detail-471675.html

到了这里,关于手把手教你暴力破解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 手把手教你SHA-256

    SHA-256是SHA-2协议簇的一部分,也是当前最流行的协议算法之一。在本篇文章中,我们会了解这个密码学算法的每一个步骤,并且通过实例演示。SHA-2因它的安全性(比SHA-1强很多)和速度为人所知。在没有键(keys)生成的情况下,例如挖掘比特币,像SHA-2这样的快速哈希算法很

    2024年02月13日
    浏览(79)
  • 轻量级的VsCode为何越用越大?为什么吃了我C盘10G?如何无痛清理VsCode缓存?手把手教你为C盘瘦身

    VsCode是一款 轻量级 代码编辑器 可用一段就会很快发现,“轻量级”的VsCode并不轻量 不统计不知道,一统计吓一跳,使用了一段时间后,VsCode占用了我C盘10G+的空间! 好家伙,于是我决定治理一下VsCode,让VsCode变得真正的轻量级。 VsCode的空间占用分析 VsCode所占用的空间,主

    2024年04月11日
    浏览(47)
  • 手把手教你落地DDD

    一、前言 常见的DDD实现架构有很多种,如经典四层架构、六边形(适配器端口)架构、整洁架构(Clean Architecture)、CQRS架构等。架构无优劣高下之分,只要熟练掌握就都是合适的架构。本文不会逐个去讲解这些架构,感兴趣的读者可以自行去了解。 本文将带领大家从日常的

    2024年02月16日
    浏览(53)
  • 手把手教你做主成分分析

    主成分分析是一种降维处理的统计方法,实践中有三个应用场景: 信息浓缩:将多个分析项浓缩成几个关键概括性指标; 权重计算:利用方差解释率值计算各概括性指标的权重; 综合评价:基于主成分得分构造综合得分数据,用于综合评价。 接下来,以一个具体案例来学习

    2024年02月01日
    浏览(61)
  • 手把手教你实战TDD

    领域驱动设计,测试驱动开发。 我们在《手把手教你落地DDD》一文中介绍了领域驱动设计(DDD)的落地实战,本文将对测试驱动开发(TDD)进行探讨,主要内容有:TDD基本理解、TDD常见误区、TDD技术选型,以及案例实战。希望通过本文,读者能够理解掌握TDD并将其应用于实际

    2024年02月08日
    浏览(51)
  • 手把手教你彻底卸载MySQL

    ❤写在前面 ❤博客主页: 努力的小鳴人 ❤系列专栏: MySQL8.0基础学习 ❤欢迎小伙伴们, 点赞👍关注🔎收藏🍔 一起学习! ❤如有错误的地方,还请小伙伴们指正!🌹 ​ 目录 步骤1:停止MySQL服务 步骤2:软件的卸载 步骤3:残余文件的清理 步骤4:清理注册表 步骤5:删除

    2024年02月05日
    浏览(43)
  • 手把手教你写go单元测试

    ​ 在 Go 语言中,单元测试是一种测试方法,用于验证代码的某个独立单元是否按预期功能,它的目的是确保代码的每个组成部分都在独立测试的情况下运行正常。 ​ 在我们对项目新增一个新功能时,最好就要养成写单元测试的好习惯,这样可以有助于提高我们代码的质量、

    2024年04月14日
    浏览(46)
  • 手把手教你小程序反编译

    1.反编译工具unveilr :百度网盘链接:https://pan.baidu.com/s/10Wle8CwvBq54GPWcbEnxLQ 提取码:bivh   解压即可用。 2.微信开发者工具:https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html 1.获取小程序存储文件夹 (1)打开PC端微信设置,在文件管理中找到存储路径,选择打开文件夹。

    2024年04月12日
    浏览(44)
  • 手把手教你爬取网站信息

    如题,理解这一部分需要一定的Python基础,有些代码我不做详细解释了,但是用这个方法是确实可以爬到的。 1. 在抓包⼯具中先定位到和浏览器地址栏的⽹址⼀样的数据包 ①在页面中右击鼠标,点击检查,博主这里用的是Google浏览器 ②在弹出来的页面中点击Network,然后再重

    2024年02月02日
    浏览(42)
  • 手把手教你如何使用Docker

    我们在公司开发中,会有开发环境,测试环境,上线环境, 比如我们开发人员开发好了一个项目,在开发环境中运行正常,但测试人员拉到测试环境就跑不起来【jdk版本等】,或者上线的时候运行不起来,这时候就要为每个机器配置一个环境,那运维人员不得累死?【哈哈,

    2024年02月10日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包