当前位置: 首页 > news >正文

暴力破解及验证码安全

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) 大网站最好统一安全验证码,各处使用同一个验证码接口。 

http://www.lryc.cn/news/185947.html

相关文章:

  • 程序无法启动,提示“找不到msvcp140.dll”或“msvcp140.dll缺失报错”解决方法
  • 【Python查找算法】二分查找、线性查找、哈希查找
  • 【MySQL实战45讲-基础篇】
  • asp.net core中间件预防防止xss攻击
  • jvm概述
  • C++简单上手helloworld 以及 vscode找不到文件的可能性原因
  • 掌动智能:性能压力测试的重要性
  • kafka日志文件详解及生产常见问题总结
  • Linux-Centos中配置docker
  • IDEA-2023-jdk8 HelloWorld的实现
  • 【1++的Linux】之进程(五)
  • 用url类来访问服务器上的文件
  • 【重拾C语言】六、批量数据组织(二)线性表——分类与检索(主元排序、冒泡排序、插入排序、顺序检索、对半检索)
  • 24 Python的sqlite3模块
  • ARM-流水灯
  • 【虚拟机】NAT 模式下访问外网
  • React 入门笔记
  • Ubuntu MySQL
  • 大数据软件系统开发框架
  • rust变量
  • 蓝桥杯---第一讲 递归与递推
  • OpenCV 15(SIFT/SURF算法)
  • 前端二维码图片解析图片识别/网络图片解析成链接/图片网络链接转本地链接(Js/Vue/Jquery)
  • 模板中的依赖类型使用 --- typename
  • git 同时配置 gitee github
  • 2023.10.8 面试
  • 【前端】js实现队列功能 先进后出 先进先出 等
  • 07.数据持久化之文件操作
  • nginx开启https配置之后网页无法访问问题处理
  • 文本嵌入层