暴力破解及验证码安全

1.暴力破解注意事项

1、破解前一定要有一个有郊的字典(Top100 TOP2000 csdn QQ 163等密码)

https://www.bugku.com/mima/ 密码生成器

2、判断用户是否设置了复杂的密码

在注册页面注册一个,用简单密码看是否可以注册成功

3、网站是否存在验证码

注意隐藏验证码

4、尝试登录的行为是否有限制

X_FORWARDED_FOR 将IP改为127.0.0.1

5、网站是否双因素认证、Token值等等

手机验证码

waf限制用户登录

2.暴力破解分类

C/S 客户端服务端

Bruter

超级弱口令检测工具


hydra(burp里九头蛇)(kail默认自带)

-s PORT 可通过这个参数指定非默认端口。

-l LOGIN 指定破解的用户,对特定用户破解。

-L FILE 指定用户名字典。

-p PASS 小写,指定密码破解,少用,一般是采用密码字典。

-P FILE 大写,指定密码字典。

-e ns 可选选项,n:空密码试探,s:使用指定用户和密码试探。

-C FILE 使用冒号分割格式,例如"登录名:密码"来代替-L/-P参数。

-M FILE 指定目标列表文件一行一条。

-o FILE 指定结果输出文件。

-f 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解。

-t TASKS 同时运行的线程数,默认为16。

-w TIME 设置最大超时的时间,单位秒,默认是30s。

-v / -V 显示详细过程。

hydra -L user.txt -P top100.txt -t 1 -vV -e ns 10.0.0.131 mssql -o 1.txt 通过cat 1.txt查看

B/S 浏览器

基于表单的暴力破解

服务端和客户端都绕不过使用工具pkav

基于验证码暴力破解

  • on client常见问题:不安全的前端js实现验证码(在burp 里删掉验证码失效);不安全的将验证码在cookie中泄露;不安全的将验证码在前端源代码中泄露

删掉验证码

给密码添加变量

  • on server常见问题:验证码在后台不过期,导致长期使用(php默认session是24分钟过期);验证码校验不严格,逻辑出现问题;验证码设计的太过简单和有规律的被猜解

取消注释就是销毁验证码不能第二次使用没有漏洞,没有这行代码默认是24分钟过期

先清除变量在给密码添加变量

开始攻击

  • 弱验证码识别攻击(绕过验证码)

使用burp抓包复制

打开,不能抓包使用burp

密码添加密码标记,验证码添加验证码标记

全为数字

复制验证码的地址


基于Token破解

由于token值输出在前端源代码中,容易被获取,因此也就失去了防暴力破解的意义,一般Token在防止CSRF上会有比较好的功郊。

攻击类型为音叉型,线程数为1,密码设一个变量,token设一个变量

先清除变量,在添加变量

top100

从响应提取的勾不要勾 开始token" value=" 结束为" />

验证码绕过的方法

客户端直接抓包将验证码删掉

服务端 程序员写代码没有写session可以在24分钟内进行暴力破解

弱验证码绕过

用pkva识别带入验证码进行爆破

验证码有token 值

攻击类型改为音叉型,线程改为1

3.暴力破解安全防范

  1. 强制要求输入验证码,否则,必须实施IP策略。 注意不要被X-Forwaded-For绕过了!

  2. 验证码只能用一次,用完立即过期!不能再次使用

  3. 验证码不要太弱。扭曲、变形、干扰线条、干扰背景色、变换字体等。

  4. 大网站最好统一安全验证码,各处使用同一个验证码接口。

相关推荐
Mintopia5 分钟前
实时语音转写 + AIGC:Web 端智能交互的技术链路
前端·javascript·aigc
2503_928411567 分钟前
9.15 ES6-变量-常量-块级作用域-解构赋值-箭头函数
前端·javascript·es6
树码小子8 分钟前
Java网络编程:(socket API编程:TCP协议的 socket API -- 回显程序的服务器端程序的编写)
java·网络·tcp/ip
Pedantic9 分钟前
SwiftUI ShareLink – 显示分享表单的使用
前端
徐小夕13 分钟前
花了一天时间,开源了一套精美且支持复杂操作的表格编辑器tablejs
前端·算法·github
Mintopia14 分钟前
Next.js 单元测试究竟该选 JTest 还是 Vitest?
前端·javascript·next.js
Alice-YUE15 分钟前
【CSS学习笔记3】css特性
前端·css·笔记·html
bug_kada16 分钟前
告别页面卡顿!用DocumentFragment打造高性能DOM操作
前端
遂心_17 分钟前
深入浅出 querySelector:现代DOM选择器的终极指南
前端·javascript·react.js
遂心_20 分钟前
DOM元素内容修改全攻略:从innerHTML到现代API的最佳实践
前端·javascript·react.js