web-暴力破解密码

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.mzph.cn/news/14343.shtml

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

相关文章

【iOS】KVOKVC原理

1 KVO 键值监听 1.1 KVO简介 KVO的全称是Key-Value Observing,俗称"键值监听",可以用于监听摸个对象属性值得改变。 KVO一般通过以下三个步骤使用: // 1. 添加监听 [self.student1 addObserver:self forKeyPath:"age"…

protobuf数据类型

protobuf特殊数据类型 一,特殊数据类型1,enum使用规则注意事项 2,Any3,oneof4,map通讯录demo升级 二,默认值三,更新消息更新规则保留字段reserved未知字段获取未知字段 四,选项optio…

时频分析方法的matlab实现

傅里叶变换 function [ output_args ] example3_7( input_args ) %EXAMPLE3_7 Summary of this function goes here % Detailed explanation goes here clc; clear; fs12800;%采样频率 s1load(Sig1.txt); s2load(Sig2.txt); lslength(s1); figure(1) subplot(211) plot…

Cilium 系列-7-Cilium 的 NodePort 实现从 SNAT 改为 DSR

系列文章 Cilium 系列文章 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能。但是通过对 Cilium 不同模式的切换/功能的启用,可以进一步提升 Cilium 的网络性能。具体调优项包括不限于: 启用本地路由 (Native Rou…

西安市未央区地方财政支出绩效管理研究_kaic

摘 要 目前传统的地方财政绩效管理研究普遍上主要集中在有关收入研究方面上,而对其支出的规模以及各类结构的研究较少。我国大部分地方财政政府的财政收入低下,财政支出效率有限,不能很好的为其地方经济提供较为稳定的社会支撑和经济保障。造…

SQL基础使用

SQL的概述 SQL全称: Structured Query Language,结构化查询语言,用于访问和处理数据库的标准的计算机语言。 SQL语言1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统SystemR上实现。 经过多年发…

PostgreSQL构建时间

– PostgreSQL构建时间 select make_timestamp(2023,7,27,7,34,16);

K8s-资源管理(二)

文章目录 2. 资源管理2.1 资源管理介绍2.2 YAML语言介绍2.3 资源管理方式2.3.1 命令式对象管理2.3.2 命令式对象配置2.3.3 声明式对象配置 2.4. 模拟使用普通用户来操作2.5 kubectl 一些基本命令2.6 使用个人的 docker 仓库的镜像 2. 资源管理 2.1 资源管理介绍 在kubernetes…

UniApp实现API接口封装与请求方法的设计与开发方法

UniApp实现API接口封装与请求方法的设计与开发方法 导语:UniApp是一个基于Vue.js的跨平台开发框架,可以同时开发iOS、Android和H5应用。在UniApp中,实现API接口封装与请求方法的设计与开发是一个十分重要的部分。本文将介绍如何使用UniApp实…

基于深度学习的高精度狗狗检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度狗狗检测识别系统可用于日常生活中检测与定位120类狗狗目标,利用深度学习算法可实现图片、视频、摄像头等方式的狗狗目标检测识别,另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检测模型训练…

web漏洞-java安全(41)

这个重点是讲关于java的代码审计,看这些漏洞是怎么在java代码里面产生的。 #Javaweb 代码分析-目录遍历安全问题 这个漏洞原因前面文章有,这次我们看看这个漏洞如何在代码中产生的,打开靶场 解题思路就是通过文件上传,上传文件…

如何利用tf.keras 实现深度学习?

tf.keras是TensorFlow 2.0的高阶API接口,为TensorFlow的代码提供了新的风格和设计模式,大大提升了TF代码的简洁性和复用性,官方也推荐使用tf.keras来进行模型设计和开发。 常用模块 tf.keras中常用模块如下表所示: 常用方法 深度…

Rust系列(四) trait备忘录(持续更新)

上一篇:Rust系列(三) 类型系统与trait 基于官方文档进行简单学习记录,保证所有示例是可运行的基本单元。测试rust程序除了使用官方的playground之外,还可以通过定义[[example]]来运行程序。 文章目录 1. Deref2. DerefMut 1. Deref 用于不可…

AI面试官:SQL Server数据库(三)

AI面试官:SQL Server数据库(三) 当涉及到.NET工程师中关于SQL Server数据库的面试题时,主要考察候选人的数据库知识、SQL查询能力、数据库设计和优化等方面。 文章目录 AI面试官:SQL Server数据库(三)31. 数据库并发控制是什么?数据库有哪些常见的并发控制机制?32. 什…

SpringBoot第24讲:SpringBoot集成MySQL - MyBatis XML方式

SpringBoot第24讲:SpringBoot集成MySQL - MyBatis XML方式 上文介绍了用JPA方式的集成MySQL数据库,JPA方式在中国以外地区开发而言基本是标配,在国内MyBatis及其延伸框架较为主流。本文是SpringBoot第24讲,主要介绍MyBatis技栈的演…

安全学习DAY10_HTTP数据包

HTTP数据包 文章目录 HTTP数据包小节导图Request请求数据包结构Request请求方法(方式)请求头(Header)Response响应数据包结构Response响应数据包状态码状态码作用:部分状态码详解判断网站文件是否存在的状态码&#xf…

配置代理——解决跨域问题(详解)

之前写项目的时候总会遇到配置代理的问题,可是配置了之后有时有用,有时就没有用,自己之前学的也是懵懵懂懂,于是专门花了一个小时去了解了如何配置代理跨域,然后在此记录一下,方便自己以后查阅。 一、 常用…

vuex 同步数据和异步数据 存储 和 调用

同步存储 调用 要向 Vuex 中存储同步数据,你可以通过定义一个 mutation 来修改 state 中的数据。下面是一个简单的示例: 首先,在你的 Vuex 模块中定义一个 state 和一个 mutation: // store.jsimport Vue from vue; import Vuex …

RBF神经网络原理和matlab实现

1.案例背景 1.1 RBF神经网络概述 径向基函数(Radical Basis Function,RBF)是多维空间插值的传统技术,由Powell于1985年提出。1988年, Broomhead和 Lowe根据生物神经元具有局部响应这一特点,将 RBF引入神经网络设计中,产生了RBF神经网络。1989 年,Jackson论证了…