web-暴力破解密码

news2024/9/28 23:29:07

Burte Force(暴力破解)概述

        暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。
    理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。 我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。 这里的认证安全策略, 包括:
    1.是否要求用户设置复杂的密码;
    2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp;(ont time password)
    3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);
    4.是否采用了双因素认证;

可以比较容易爆破的情况:

        ①已知用户名

        ②不是动态验证码或者是长时效验证码        

        ③提示用户名不存在。要是提示用户或者密码不存在就很难爆破了,需要两个参数一起进行爆破。(用户或者密码不存在)

bp的爆破模式

Attack type:
    Sniper(狙击手模式):一次只对一个地方(参数)进行爆破。
    Battering ram(攻城锤模式):对所有地方(参数)只用同一个字典进行爆破。
    Pitchfork(干草叉模式):对多个地方(参数)同时爆破,每个地方使用的字典不同。
    Cluster boom(集束炸弹模式):进行排列组合。一次两个地方进行爆破

这个地方的1就是代表着第一个爆破点,2就是第二个爆破点

Payload type:
    Simple list:简单的列表。
    Runtime file:指定文档。
    Custom iterator:迭代器。position1+position2+position3,进行排列组合,但前后顺序不会变。
    Character substitution:字符替换。原始的payload跑完后开始替换。
    Case modification:大小写修改。
    Recursive grep:递归过滤。是从上一次的响应结果中,取得部分特定内容作为下次请求的Payload。
    Illegal Unicode:非法的 unicode 编码。
    Character blocks:字符块。插入重复的字符或字符串。
    Number:数字。
    Dates:日期。
    Brute forcer:无限猴子定理。所有字符排列组合。
    Null payloads:空负载。
    Character frobber:字符有序重组。会按照顺序去递增每个字符的一个ASCII。
    Bit flipper:bit翻转。对预设的Payload原始值,按照比特位,依次进行修改。
    Username generator:名字生成。
    ECB block shuffler:Electronic codebook,ECB。加密块洗牌。
    Extension-generated:扩展模块。
    Copy other payload:复制其他的payload。

字典

字典:
    https://github.com/TheKingOfDuck/fuzzDicts
    https://github.com/k8gege/PasswordDic
密码工具:
    https://ctf.bugku.com/tools.html
    https://www.bugku.com/mima/
    https://github.com/crunchsec/crunch
    https://github.com/jaalto/external-sf--crunch-wordlist

pikachu靶场

基于表单的暴力破解:
    账号:admin 密码:123456
    账号:test    密码:test
验证码绕过(on client):
        验证码错误的时候,没有抓到包;验证码正确的时候i,可以抓到包。说明这个是在前端进行验证,只要绕过前端,后端将不再对验证码进行校验。

        直接抓包进行爆破就可以了


验证码绕过(on server):
    同理也是一样,后端验证码使用没有期限,只有当前端发送请求时才刷新验证码,那我们可以不发送刷新验证码的请求,则我们可以使用同一个验证码,进行爆破。

先发送到reperter模块,然后修改密码一直发送可以看到验证码是不会发生改变的,就可以用这个验证码进行爆破


token防爆破?:
    利用 Recursive grep 的payload类型,可以捕获上一次响应中返回的token,并将token加入现在的包中进行使用。
    线程数需要设置为 1。
    线程数多,则会不知道识别的返回 tocken 是那个一payload的返回,造成失效。

实战爆破

一种网站是有提示用户名的,提示你用户名不存在,可以先爆破用户名,在破解免密

http://www.czxlzs.com/admin/Login.aspx?action=login

通过bp进行爆破,爆破出三个用户名

 靶场网址

http://rsc.njucm.edu.cn/manage/login.aspx
#长时效验证码


http://www.miaolaotai.com/admin/login.php
#验证码一直变换,比较难爆破

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/804567.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

都说软件测试没前途了?为何每年还会增加40万测试员

最近和一些刚进入软件测试行业的朋友交流,发现了一个有趣的现象,那就是对这个行业很多问题的认识是一致的、片面的,也可以理解为误解。利用你的时间列出他们对这个行业的所有误解,然后结合你多年的工作经验和你交流。毕竟你是从这…

WPS本地镜像化在线文档操作以及样例

一个客户项目有引进在线文档操作需求,让我这边做一个demo调研下,给我的对接文档里有相关方法的说明,照着对接即可。但在真正对接过程中还是踩过不少坑,这儿对之前的对接工作做个记录。 按照习惯先来一个效果: Demo下载…

应届生如何快速找Java开发工程师,先学会这17个基础问题

一、Java 基础 JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的…

机器学习李宏毅学习笔记39

文章目录 前言一、大模型的发展趋势二、KNN LM总结 前言 大模型大资料 大模型的顿悟时刻 一、大模型的发展趋势 随数据量增加,模型可以从量变达到质变,从某一刻开始突然学会东西。 当成为大模型时,分数会从0,0突然变成100,完成“…

MySql001——初识数据库

一、什么是数据库 简单理解:数据库就是存放数据的仓库。 而仓库的作用就是往里面存东西(入库),和从里面取东西(出库)。 二、数据库的作用 简单理解:数据库的作用就是存放数据。 互联网世界就是…

(el-radio)操作:Element-plus 中 Radio 单选框改成垂直排列的样式操作与使用

Ⅰ、Element-plus 提供的Radio单选框组件与想要目标情况的对比: 1、Element-plus 提供 Radio 组件情况: 其一、Element-ui 自提供的Radio代码情况为(示例的代码): // Element-plus 自提供的代码: // 此时是使用了 ts 语言环境&a…

selenium进阶

Selenium进阶部分一 本篇建立在selenium基础部分之上,介绍了如条件判断,常用断言,文件截图操作,cookies操作和ActionChains库等常用操作 附带介绍了XPATH的用法 Selenium常用小操作 上传文件 实现原理:直接定位到…

基于Java+SpringBoot+vue前后端分离技术交流和分享平台设计实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

7.28 作业 QT

手动完成服务器的实现&#xff0c;并具体程序要注释清楚: widget.h: #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> //服务器类 #include <QTcpSocket> //客户端类 #include <QMessageBox> //对话框类 #include …

瑞吉外卖项目 基于spring Boot+mybatis-plus开发 超详细笔记,有源码链接

源码地址&#xff1a;https://gitee.com/programmer-xiao-kai/reggie_tack_out 前置知识&#xff1a; Java基础知识Java Web vueSpring BootSSMMaven 软件开发流程 角色分工 项目经理:对整个项目负责&#xff0c;任务分配、把控进度产品经理:进行需求调研&#xff0c;输出需…

ubuntu远程控制小车 运行rviz时报错

我买的是wheeltec的小车&#xff0c;测试rgbd相机时想在ubuntu上的rviz中显示小车的姿态和看到的rgb和depth图&#xff0c;但是ubuntu中rostopic list和rviz都找不到小车发布的话题信息&#xff0c;运行rqt_image_view时可以显示图片信息。 最终wheeltec的技术人员lucas帮我找了…

AI 绘画Stable Diffusion 研究(一)sd整合包v4.2 版本安装说明

部署包作者:秋葉aaaki 免责声明: 本安装包及启动器免费提供 无任何盈利目的 大家好&#xff0c;我是风雨无阻。众所周知&#xff0c;StableDiffusion 是非常强大的AI绘图工具&#xff0c;需要详细了解StableDiffusion的朋友&#xff0c;可查看我之前的这篇文章&#xff1a; 最…

【Java】Spring——创建Spring + 对Spring的存储 /读取对象操作

文章目录 前言一、创建Spring项目二、向Spring容器中存储 Bean 对象三、从Spring容器中读取 Bean 对象得到Spring上下文对象得到 Bean 对象 总结 前言 本人是一个普通程序猿!分享一点自己的见解,如果有错误的地方欢迎各位大佬莅临指导,如果你也对编程感兴趣的话&#xff0c;互…

AI Chat 设计模式:10. 组合模式

本文是该系列的第八篇&#xff0c;采用问答式的方式展开&#xff0c;问题由我提出&#xff0c;答案由 Chat AI 作出&#xff0c;灰色背景的文字则主要是我的一些思考和补充。 问题列表 Q.1 给我介绍一下组合模式A.1Q.2 好的&#xff0c;给我举一个组合模式的例子&#xff0c;使…

android存储4--初始化.emulated设备的挂载

android版本&#xff1a;android-11.0.0_r21http://aospxref.com/android-11.0.0_r21 android手机的挂载非常复杂。这篇文章针对emulated存储&#xff0c;介绍它的挂载过程。 一、为什么emulted存储要用很复杂的挂载方式 1&#xff0c; emulted存储是什么 android早期&#…

QTday4(鼠标事件和键盘事件/QT实现连接TCP协议)

笔记 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QDebug> #include <QTcpServer>//服务器类 #include <QTcpSocket>//客户端类 #include <QMessageBox> #include <QList>//链表容器QT_BEGIN_NAMESPACE namespace Ui …

【数据结构】实验十二:图 查找

实验十二 图查找 一、实验目的与要求 1&#xff09;掌握拓扑排序的应用&#xff1b; 2&#xff09;掌握查找的概念和算法&#xff1b; 3&#xff09;掌握查找的基本原理以及各种算法的实现&#xff1b; 4&#xff09;掌握查找的应用。 二、实验内容 1. 用邻接表建立一…

安卓:百度地图开发(超详细)

一、百度地图介绍 百度地图SDK是一套供开发者使用的软件开发工具包&#xff08;SDK&#xff09;&#xff0c;用于在Android应用程序中集成和使用百度地图功能。通过使用百度地图SDK&#xff0c;开发者可以实现在自己的应用中显示地图、获取定位信息、进行搜索、导航等功能。 百…

机器视觉初步14:相机标定原理及应用

相机标定是指通过已知的相机参数&#xff0c;解算相机内部参数矩阵和外部参数矩阵。 文章目录 1.为什么要标定&#xff1f;2.工业场景中常见的标定方法2.1. 使用棋盘格标定板&#xff08;Checkerboard Markers&#xff09;2.2 使用相机自标定2.3. 使用三维物体标定2.4.九孔标…

MATLAB与ROS联合仿真——控制类功能模块介绍

1、Keyboard Control &#xff08;1&#xff09;输入参数&#xff1a;无 &#xff08;2&#xff09;输出参数&#xff1a;Speed Factor为输出的速度系数&#xff08;1代表前行&#xff0c;0停止&#xff0c;-1代表后退&#xff09;&#xff0c;Turn Factor为输出的舵机系数&am…