暴力破解相关知识

暴力破解

简介

暴力破解也可称为穷举法、枚举法,是一种常见的网络安全攻击方法,它利用计算机程序自动尝试大量的密码组合来破解密码。这种攻击方法通常用于获取未经授权的访问权限,如入侵网络系统或个人账户。

漏洞成因

存在默认用户
未修改默认密码
密码强度不够
开启不必要的服务
后端代码的校验方法不合理

攻击方法

使用穷举法来对密码进行逐个猜解,通常会使用字典来提高破解效率。

字典

定义

一个包含若干字符集合的文件,一般用于暴力破解猜解。

生成工具

crunch
简介

crunch 是一个 kali 自带生成字典的一个工具,一种创建密码字典工具,该字典通常用于暴力破解。使用 Crunch 工具生成的密码可以发送到终端、文件或另一个程序。

基本语法
 crunch <min-len> <max-len> [<charset string>] [options]

options

-b

指定文件输出的大小,避免字典文件过大。

-c

指定文件输出的行数,即包含密码的个数。

-d

限制相同元素出现的次数。

-s

指定一个开始的字符,即从自己定义的密码 xxxx 开始。

-e

定义停止字符,即到该字符串就停止生成。

-f

调用库文件(/etc/share/crunch/charset.lst)。

-i

改变输出格式,即 aaa,aab -> aaa,baa。

-I

通常与 -t 联合使用,表明该字符为实义字符。

-m

通常与 -p 搭配。

-o

将密码保存到指定文件。

-p

指定元素以组合的方式进行。

-q

读取密码文件,即读取 pass.txt。

-r

定义重某一字符串重新开始。

-t

指定密码输出的格式。

-u

禁止打印百分比(必须为最后一个选项)。

-z

压缩生成的字典文件,支持 gzip、bzip2、lzma、7z。

举例
生成字母组合

crunch 1 4

生成指定字符组合

crunch 8 8 -t 199505%% -e 19950530

生成缺位的手机号码

crunch 11 11 -t 1503453%%%% -o 1.txt

生成元素的组合

crunch 7 7 -t %%%.com -s 111.com -e 123.com

社工密码生成器
在线网站

https://password.iculture.cc/index

下载到本地使用

https://github.com/zgjx6/SocialEngineeringDictionaryGenerator/blob/master/index.html

字典优化技巧

根据注册提示信息进行优化:对目标站点进行注册,摸清楚账号密码的一些限制,比如目标站点要求密码必须是 6 位以上,字母数字组合,则可以按照此优化字典,比如去掉不符合要求的密码。
如果爆破的是管理后台,往往这种系统的管理员是 admin/administrator/root/manager 等用户名的机率比较高,可以使用这几个账号加随便一个密码尝试登录,观看返回的结果,确定用户名。
如:输入 xxx/yyy 返回"用户名或密码错误",输入 admin/yyy 返回"密码错误",则可以确定用户名是 admin。
因此可以只对密码进行爆破即可,提高效率。

HTTP 工作流程

1.客户端向 DNS 服务器发起查询请求,请求目标域名的 IP 地址。

2.客户端通过三次握手和 Web 服务器建立 TCP 连接。

3.客户端向 Web 服务器发起 GET 请求。

GET包的内容

Host:描述客户端希望请求的网站 URL。
User-Agent:描述了客户端的操作系统和浏览器版本。
Cookie:描述客户端的身份信息。

4.服务器向客户端发送响应报文并包含内容。

响应状态码
1XX:通知消息
2XX:请求成功

200:OK

3XX:重定向

302:临时重定向
307:永久重定向

4XX:客户端错误

404:网页未找到

5XX:服务器错误

500:服务器内部错误

5.客户端和服务器通过四次挥手结束 TCP 连接。

Web 暴力破解

由于不同的网站登录认证的程序写法不一样,所以需要根据具体情况来构造正确格式的请求包进行猜解。一般使用 Burpsuite 来构造具体数据包。

防护方法

使用随机图形验证码,在不影响用户体验的前提下尽可能复杂。
后端验证,不要做前端验证,并且保证后端验证的合理性。
验证码不能复用,使用后立马销毁并重新生成一个验证码。
使用 6 位以上长度的手机验证码。
做双因素认证。
使用密码多次输错后账户锁定方式。
定期更换密码,并保证密码的复杂度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值