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

一,弱密码

弱密码故名思义,就是使用默认的,广为人知的密码,比如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. SpringBoot获取Bean的工具类

    1.beanName 默认是类名首字母小写 下面的类:beanName = bean1 @Component public class Bean1 { public String getBean1() ...

  2. C#开源的两款功能强大的录屏神器

    ScreenToGif ScreenToGif是一款由C#语言开发且开源的操作简单.免费的屏幕录制和GIF动画制作神器.它可以帮助用户捕捉计算机屏幕上的实时动画,并将其保存为高质量的 GIF 图像格式 ...

  3. 分享一张2020年用jaegertracing画的tomcat8.5启动流程图

    今天整理电脑的时候意外发现一张tomcat8.5的启动流程图,是笔者2020年借助jaegertracing绘制的,想想还比较有意思,在这里分享一下,当初闲来无事折腾了小半天,具体过程已经是记不起来了 ...

  4. 【项目学习】Timeswap:第一个完全去中心化的基于 AMM 的货币市场协议

    总览 Timeswap 是世界上第一个完全去中心化的基于 AMM 的货币市场协议,无需预言机或清算人即可工作. Timeswap 采用 3 变量来维持 AMM 的运作.它通过允许用户决定他们的风险状况 ...

  5. ControlNet

    ControlNets 允许您选择图像来引导 AI,使其更紧密地跟随您的控制图像.您可以选择一个过滤器来预处理图像,以及已知(或自定义)控制网络模型之一. 虽然这听起来与图像到图像相似,但 Contr ...

  6. xFormers

    xFormers可以加快图像生成速度(几乎快两倍)并使用更少的 GPU 内存.它被广泛使用并且工作得很好,但与您之前生成的图像相比,它有时会生成不同的图像(对于相同的提示+设置). 重要的!!xFor ...

  7. 【C#】使用WebHttpRequest调用Restful带token接口500 返回401 未授权错误

    测试对方的接口,发现单个调用对方接口是可以的,但是多个连续的调用对方接口时,会出现第一条调用一般是200,随后的调用就会报500,401未授权的错误,除了第一条后面的请求数据几乎都不得行. 我于是用f ...

  8. 003. git标签

    git标签 标签用于记录详细修改内容,为后续使用提供帮助. 也方便快速的回滚. 每一次提交[commit]都可以打一个tag标签. 测试阶段标签规则: 以 0.01 0.02版本为主 正式上线标签规则 ...

  9. JavaScript语法形式2 内部式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. Java中可以用的大数据推荐算法

    在Java中实现大数据推荐算法时,通常会使用一些开源的机器学习库,如Apache Mahout.Weka.DL4J(DeepLearning4j,用于深度学习)或者Spark MLlib(用于在Spa ...