大多数身份和访问管理系统的设计和实现,普遍存在身份认证失效的问题。会话管理是身份验证和访问控制的基础,并且存在于所有有状态的应用程序中。攻击者可以使用指南手册来检测失效的身份认证,但通常会关注密码转储,字典攻击,或者在类似于钓鱼或社会工程攻击之后,发现失效的身份认证。
确认用户的身份,身份验证和会话管理非常重要,这些措施可用于将恶意的未经身份验证的攻击者与授权用户分离,如果您的应用程序存在以下问题,那么可能存在身份验证的脆弱性。

一,弱密码

弱密码故名思义,就是使用默认的,广为人知的密码,比如123456,admin,password等等,因为黑客在他的数据库里已经保存了常见的,简单的弱密码,所以黑客可以使用破解工具轻松破解用户的密码,然后非法登录登录帐号,对系统进行进一步的攻击。
尤其是在生产环境的服务器管理员密码的设置上,如果使用了弱密码造到黑客破解,会对生产环境系统运行和用户的数据安全造成极大威胁。
 

防范措施

强制使用高复杂度的密码或口令,比如8到12位,同时包含大小写字母,数字和特殊符号组合的密码,并且定期(比如每三个月)修改一次密码。
 

二,暴力破解

暴力破解也是一个比较容易忽略的漏洞,黑客可以利用爆破工具对网站的用户和密码进行枚举(网站也没有对这样的攻击进行限制),成功利用此漏洞的攻击者可以进行非法登录帐号,从而进行更高级的攻击,威胁网站的安全。
 

防范措施

限制登录数据包的使用次数,可以基于用户,也可以基于IP来限制,比如同一IP 五分钟内重试次数不能超过5次,如果超过就临时锁定。
 

三,撞库

撞库其实跟弱密码和暴力破解漏洞有联系,其核心思想是通过收集互联网上已经泄露的用户名和密码信息,生成对应的字典表,然后利用这些字典表批量尝试登录其它网站,以获取一系列可以登录的帐号。
 

防范措施

使用高复杂度的密码,同时避免在多个系统中使用相同的密码。
 

四,多因子认证

一般来说,我们登录网站使用用户名加密码来登录,但是这种方式安全性不高,黑客如果获取到了用户名和密码就可以登录网站,从而对网站安全产生具大威胁。
那么多因子认证就是在传统的用户名加密码之外,提供另一种类型的认证因子来验证其身份,这些认证因子通常包括:手机短信验证码,指纹或面容ID。那么这种多因子认证可以极大地提高系统的安全性。
 

防范措施

除传统的用户名加密外,引入短信验证码等来验证用户身份。
 

五,低复杂度的验证码

在我们登录网站的时候,为了防止黑客攻击通常会使用到验证码,但是传统的验证一般是数字或字母的组合,比如下面这样子的,
这种验证码很容易通过OCR之类的技术进行识别,导致黑客攻击的难度大大降低。
 

防范措施

使用现在主流的,高复杂度的验证码,比如滑块拼图验证码,这样黑客很难通过程序直接识别,从而提高了网站的安全性。
 
 
另外,我最近开发并开源了一个支持免费申请通配符SSL证书的平台:华迅FreeCert,解决了每隔一段时间就要重新申请和部署证书(因为传统的云厂商提供的免费证书一般只有三个月有效期),不支持免费申请通配符证书这两大痛点,欢迎大家注册使用并提供宝贵意见,谢谢!
 

详解Web应用安全系列(3)失效的身份认证的更多相关文章

  1. 框架基础学习之--详解web+maven+spring+mybatis+struts框架文件夹作用

    详解web+maven+spring+mybatis+struts框架文件夹作用 1.程序名 2.Mybatis,mybatis是数据持久层,就是和对象类有关系的东西 3.存放java文件,xml,p ...

  2. ps切图抠图详解-web前端(转)

    网页设计在技术层面上,第一步是美工做出网页效果图,第二步就是网页前端进行网页切图.网页切图工具常用的有fireworks.PS,这里使用PS进行网页切图. 我们通过设计稿,得到我们想要的产出物(如.p ...

  3. 详解web容器 - Jetty与Tomcat孰强孰弱

    Jetty 基本架构 Jetty目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器.它有一个基本数据模型,这个数据模型就是 Handler(处理器 ...

  4. day08:软件系统的体系结构&Tomcat详解&Web应用&http协议

        day08 软件系统体系结构     常见软件系统体系结构B/S.C/S 1.1 C/S C/S结构即客户端/服务器(Client/Server),例如QQ: 需要编写服务器端程序,以及客户端 ...

  5. 详解springmvc控制登录用户session失效后跳转登录页面

    springmvc控制登录用户session失效后跳转登录页面,废话不多少了,具体如下: 第一步,配置 web.xml <session-config> <session-timeo ...

  6. 详解web.xml中元素的加载顺序

    一.背景 最近在项目中遇到了启动时出现加载service注解注入失败的问题,后来经过不懈努力发现了是因为web.xml配置文件中的元素加载顺序导致的,那么就抽空研究了以下tomcat在启动时web.x ...

  7. web应用配置文件详解(web.xml)

    转载链接地址:http://blog.csdn.net/guihaijinfen/article/details/8363839 <?xml version="1.0" en ...

  8. 详解 Web基本概念

    作为本专栏的第一篇博文,本人将带领同学们初步了解什么是Web,以及有关Web学习的一些基本知识点 那么,话不多说,开始主题的讲解吧: 首先,本人来解释下什么是Web: 概念: 使用浏览器进行访问的应用 ...

  9. 【转】详解web.xml中元素的加载顺序

    顺序为: context-param --> listeners --> filters --> servlets(如DispatcherServlet等) 详见<https: ...

  10. 详解C# 网络编程系列:实现类似QQ的即时通信程序

    https://www.jb51.net/article/101289.htm 引言: 前面专题中介绍了UDP.TCP和P2P编程,并且通过一些小的示例来让大家更好的理解它们的工作原理以及怎样.Net ...

随机推荐

  1. VSCode 在 windows 下默认添加 _WIN32 的问题

    现象 在 VSCode 在 windows 下环境中使用时,会默认添加 _WIN32 ,会出现查看代码时,出现错误提示,现象如下 检测到 #include 错误.请更新 includePath.已为此 ...

  2. VGA显示文字

    VGA显示文字 VGA字符显示的原理 把要显示的字符转换成字符点阵,然后编码存储,着色的部分为1,其它为0.然后在VGA上输出显示. 字符点阵生成软件: https://www.zhetao.com/ ...

  3. 机器学习策略篇:详解开发集和测试集的大小(Size of dev and test sets)

    在深度学习时代,设立开发集和测试集的方针也在变化. 可能听说过一条经验法则,在机器学习中,把取得的全部数据用70/30比例分成训练集和测试集.或者如果必须设立训练集.开发集和测试集,会这么分60%训练 ...

  4. Go语言的包(package)

    包名是从$GOPATH/src/后开始计算的,使用/进行路径分隔. 想要被别的包调用标识符都要的首字母大. 单行导入和多行导入. 导入包不想使用内部的标识符,需要使用匿名导入. 每个包导入的时候会自动 ...

  5. fastposter v2.8.4 发布 电商海报生成器

    fastposter v2.8.4 发布 电商海报生成器 fastposter海报生成器,电商海报编辑器,电商海报设计器,fast快速生成海报 海报制作 海报开发.贰维海报,图片海报,分享海报贰维码推 ...

  6. 回顾复习x学习笔记

    从头回顾(截至搜索) #define fo(x,y,z) for(int (x)=(y);(x)<=(z);(x)++) #define foo(x,y,z) for(int (x)=(y);( ...

  7. C数据结构:KMP算法详解(呕心沥血)

    KMP算法 作者心声 了解暴力求解(必需会) KMP算法详解 记住我这段话(你会爱上它的)← : ①前后缀及其用处 ②求出前后缀的next数组 求出next数组的代码 开始实现KMP算法 结尾 附上源 ...

  8. 4G EPS 中建立 eNB 与 MME 之间的 S1 连接

    目录 文章目录 目录 前文列表 S1 连接 eNB 的 S1 连接 UE 的 S1 连接 前文列表 <4G EPS 中的小区搜索> <4G EPS 中的 PLMN 选择> &l ...

  9. docker安装MySQL8.0.35主从复制(实战保姆级)

    很久没有记录了,今天有时间就记录一下最近安装遇到的问题 liunx安装docker这个是前提,就不多过述 1 准备两台服务器 10.104.13.139 10.104.13.140 2 确保liunx ...

  10. 深入解析HashMap源码

    HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型.随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入 ...