本系列导航http://www.cnblogs.com/xuanhun/archive/2008/10/25/1319523.html

安全技术区http://space.cnblogs.com/group/group_detail.aspx?gid=100566

前言

(作者:玄魂)

哎呀,好久没上博客园来了,先前的计划也搁浅了一段时间。考试,课程设计,找工作,上不了网,各种问题。今天忙里偷闲,写点东西。

用户名枚举和密码猜测是攻击web验证两个核心部分。这篇文章只探讨用户名枚举的一些常见情况。

正文

11.1从网站的用户标识获取用户名

对于博客,论坛,交友网这样的网站,对于不同的用户的标识有用户名,ID号,昵称等级种形式,很多时候会很明显的暴露用户登录用的用户名。

以博客园为例,访问每个人的空间都会得到类似的链接:http://www.cnblogs.com/tintown/。tintown就 是用户名。

用这样的方法我们可以获得博客园所有用户的登录用户名。再比如百度空间,也有类似的情况。

上面的xuanhun就是登录用户名。不过最近百度对你访问的其他人的空间做了加密处理。但是很容易被还原。

比较好的办法是登录名和网站的功能操作的用户标识区分开。下面看校内网的一个例子。

校内网的用户ID是程序自动和用户名绑定的,而操作的过程用的是ID而不是用户名,用户登录的时候用的是用户名而不是ID,这在一定程度上给用户名枚举造成了困难。

11.2内容信息

很多网站是以邮箱登陆的,但个人信息也有Email选项,如果该用户填写了,很有可能就是暴露了他的登录用户名。

填写了可以暴露他的用户名的间接信息。比如在XX网站填写了博客园的空间链接,那么博客园的登录用户名很可能就是他在XX网站的用户名。因为很少有人不断的更换自己的用户名和密码。

其他的一些敏感信息。页面内的username,uid等关键字。

11.3暴力登录探测

(1)登录界面

这是很多软件常用的方法,利用已有的字典不断做登录尝试,根据返回的信息判断是否成功。

仍以博客园为例:

我先在登录界面输入用户名dudu,密码123,返回密码错误信息。

我再输入dudu123456,密码123,返回用户名不存在信息。

根据返回信息的不同,我们可以确定用户名的存在与否。

(2)注册信息

以百度注册为例

我输入一个已经存在的用户名,会返回用户名已存在的信息。这样就获得了用户名。

(3)找回密码信息

刚才我们说了校内网在防止用户名枚举的安全策略,下面我们再看看它的找回密码界面。

把我们要探测的帐号输入,如果错误就会返回这样的错误信息。如果正确呢?

看,连邮箱都给我们显示出来了。

这里需要说的是,对于具体的攻击细节和防护细节我们留在下一篇文章中具体探讨。

(5)账户锁定

对于返回错误信息不明显的页面我们也可以利用它的账户锁定机制。原因很简单,账户锁定仅仅针对已经存在的用户,而对不存在的用户是不锁定的。比如126邮箱。但是账户锁定很容易被暴力程序造成拒绝服务攻击。

11.4 阻止暴力探测的一些方法的探讨

(1)账户锁定

账户锁定是很有效的方法,因为暴力破解程序在5-6次的探测中猜出密码的可能性很小。但是同时也拒绝了正常用户的使用。如果攻击者的探测是建立在用户名探测成功之后的行为,那么会造成严重的拒绝服务攻击。对于对大量用户名只用一个密码的探测攻击账户锁定无效。

如果对已经锁定的账户并不返回任何信息,可能迷惑攻击者。

(2)返回信息

如果不管结果如何都返回成功的信息,破解软件就会停止攻击。但是对人来说很快就会被识破。

(3)页面跳转

产生登录错的的时候就跳到另一个页面要求重新登录。比如126和校内网都是这样做的。局限性在于不能总是跳转页面,一般只在第一次错误的时候跳转,但是第一次之后又可以继续暴力探测了。

(4)适当的延时

检查密码的时候适当的插入一些暂停,可以减缓攻击,但是可能对用户造成一定的影响。

(5)封锁多次登录的IP地址

这种方法也是有缺点的,因为攻击者可以定时更换自己的IP。

(6)验证码

刚才Mien Ng给我说了验证码的问题,本来打算在下次说的,既然提了,也感觉该在这里说一下比较好。验证码确实是阻止暴力攻击的好方法,但设计不好的验证码是可以绕过的,这里也不详细说。对于特定目标的手工探测来说验证码是没有作用的。

作者:玄魂

本文转自悬魂博客园博客,原文链接:http://www.cnblogs.com/xuanhun/archive/2009/01/02/1366962.html,如需转载请自行联系原作者

Web安全实践(11)用户名枚举相关推荐

  1. Java Web应用实践

    <JAVA WEB应用实践> 第一章 .JSP的认识 1.Tomcat7 的目录结构: 目录 说明 /bin 存放用于启动和停止Tomcat的脚本文件 /conf 存放Tomcat服务器的 ...

  2. python上手--flask框架web开发实践-数据库

    这篇文章,由易而难,步骤清晰,思路讲得很明白.花两小时跟着作者稻谷先生的这篇文章走一遍,对学习python使用Flask来开发web的应用很有帮助. python上手--flask框架web开发实践 ...

  3. WEB入门实践-张晨光-专题视频课程

    WEB入门实践-256人已学习 课程介绍         WEB开发入门编程,从各种开发工具的讲解到html标签,css元素讲解,js课程系列. 课程收益     培养web开发技术人才 讲师介绍   ...

  4. 《响应式Web设计实践》一2.2 字体大小

    本节书摘来异步社区<响应式Web设计实践>一书中的第2章,第2.2节,作者: [美]Tim Kadlec 译者: 侯鸿儒 责编: 赵轩,更多章节内容可以访问云栖社区"异步社区&q ...

  5. 【Web编程实践课第二次作业】体育新闻世界

    夢に敗れた幼き人 被梦想打败的幼稚的人 憧れたヒーローには 是无法变成自己 成れやしないんだ 所憧憬的英雄的 現実に叩き起された時 被现实叫醒的时候 理想郷は離れて 理想的桃花源便会离去 崩れ落ちてき ...

  6. 移动 Web 最佳实践(干货长文,建议收藏)

    作者:mucking| 来源:掘金 https://juejin.im/post/5d759f706fb9a06afa32adec 笔者在公司用 web 技术开发移动端应用已经有一年多的时间了,开始主 ...

  7. Web安全实践(9)攻击apache

    作者:玄魂   系列导航http://www.cnblogs.com/xuanhun/archive/2008/10/25/1319523.html 安全技术区http://space.cnblogs ...

  8. 艾伟:WCF从理论到实践(11)-异步

    本系列文章导航 WCF从理论到实践(1):揭开神秘面纱 WCF从理论到实践(2):决战紫禁之巅 WCF从理论到实践(3):八号当铺之黑色契约 WCF从理论到实践(4):路在何方 WCF从理论到实践(5 ...

  9. Web安全实践(2)基于http的web架构剖析

    作者:玄魂 web安全实践系列导航http://www.cnblogs.com/xuanhun/archive/2008/10/25/1319523.html 安全技术区http://space.cn ...

  10. Spring Boot WebFlux-02——WebFlux Web CRUD 实践

    Spring Boot WebFlux-02--WebFlux Web CRUD 实践 第02课:WebFlux Web CRUD 实践 上一篇基于功能性端点去创建一个简单服务,实现了 Hello.这 ...

最新文章

  1. pandas自定义设置dataframe每个索引的标签、自定义设置索引的列名称(customize index name and index label)
  2. xtraTabbedMdiManager 双击最大化和关闭后返回主界面 z
  3. linux环境下监控日志的变化命令 tail -f
  4. 商业银行vh是哪个银行的简称_各个银行的字母缩写?
  5. 一个javascript框架应有的功能
  6. mysql 函数返回查询结果_MySQL数据库中常用查询函数简介
  7. HTML5 API详解(3):为何网页上要增加Battery电池状态API
  8. control层alert弹出框乱码_【ArcGIS for JS】动态图层的属性查询(11)
  9. python类的初始化方法___python类的初始化方法
  10. JavaScript面向对象之Object类型
  11. Welcome-to-Swift-05控制流(Control Flow )
  12. vs的离线下载.iso文件_Windows10官方纯净系统下载
  13. 一个简易的选择小时(时分秒)的插件
  14. c语言口袋妖怪代码大全,口袋妖怪代码大全.docx
  15. Chrome 93 版本新特性 Chrome 93 版本发行说明
  16. 中国IT工作者35岁后的发展出路调查报告(4)
  17. filter(matlab2C)
  18. 12.5米分辨率DEM
  19. 现在的你迷茫吗?是否还在做毕业后的高薪梦?你相信彩虹海吗?
  20. PreferenceActivity和PreferenceFragment实现设置界面

热门文章

  1. Atitit 管理体制 编号制 1.数字编码有何好处 数字编码有何好处 1、归档整理方便,特别在电子管理系统中; 2、数字编码更容易进行管理,无论谁进行的编码都是一样,管理方便,人员无论怎么换,程序
  2. Atitit. 构造ast 语法树的总结attilax v2 q0f
  3. Atitit.java 虚拟机的构成 与指令分类 与 指令集合 以及字节码查看工具javjap
  4. Atitit.字节数组转字符串 base64 base16 Quoted-printable 编码原理设计 attilax 总结
  5. paip.提升性能--多核cpu中的java/.net/php/c++编程
  6. paip.cpu占用高解决方案---ThreadMast 跟Process Lasso的使用
  7. paip.php调试脱离IDE VC59
  8. 2018年华尔街高盛、花旗等投行业绩创新高!
  9. 梁勇:展望 2017年商业智能BI 发展的趋势
  10. 【图像重建】基于matlab迭代步长自适应图像超分辨重建【含Matlab源码 048期】