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

一,弱密码

弱密码故名思义,就是使用默认的,广为人知的密码,比如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. dotnet 使用 FormatterServices 的 GetUninitializedObject 方法在丢失 DLL 情况下能否执行

    在 dotnet 里面,可以使用 FormatterServices 的 GetUninitializedObject 方法可以实现只创建对象,而不调用对象的构造函数方法.而如果在使用此方法时,存在了 ...

  2. 还需要学习JDBC吗?如果需要该了解到怎么样的程度?

    前言 只有光头才能变强. 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 不知道大家在工作中还有没有写过JDBC,我在大三 ...

  3. 一:大数据架构回顾-Lambda架构

    "我们正在从IT时代走向DT时代(数据时代).IT和DT之间,不仅仅是技术的变革,更是思想意识的变革,IT主要是为自我服务,用来更好地自我控制和管理,DT则是激活生产力,让别人活得比你好&q ...

  4. 05 elasticsearch学习笔记-基本CRUD

    目录 视频教程 4.1 基本CRUD 4.2 URI查询 按时间段查 视频教程 Elasticsearch(7.8.1)沥血之作(包含仿百度搜索案例) https://www.bilibili.com ...

  5. Linux查看文件指定行数内容与查找文件内容

    Linux查看文件指定行数内容 1.tail date.log 输出文件末尾的内容,默认10行 tail -20 date.log 输出最后20行的内容 tail -n -20 date.log 输出 ...

  6. fastposter v2.8.3 发布 电商海报生成器

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

  7. 网络性能监测与诊断的专家-AnaTraf

    网络性能问题是困扰许多企业和组织的常见问题.网络速度慢.延迟高.丢包率高.应用卡顿等问题都会严重影响用户体验和工作效率.为了解决这些问题,企业需要对网络流量进行分析和诊断,找出问题根源并采取措施进行优 ...

  8. JDK源码阅读-------自学笔记(十七)(java.io.File类)

    File类简介 java.io.File类:抽象代表文件和目录. 使用此类,相当于获取了系统的文件,可以对其进行操作. 在开发中,读取文件.生成文件.删除文件.修改文件的属性时经常会用到本类 File ...

  9. docker多主机管理docker-machine

    docker-machine https://docs.docker.com/machine/ https://www.runoob.com/docker/docker-machine.html ht ...

  10. web component基础概念及使用

    概念和使用 作为开发者,我们都知道尽可能多的重用代码是一个好主意.这对于自定义标记结构来说通常不是那么容易 - 想想复杂的HTML(以及相关的样式和脚本),有时您不得不写代码来呈现自定义UI控件,并且 ...