看好你的门-验证机制被攻击(4)-密码修改、重置功能常见漏洞

首先需要声明,本文纯属一个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考。

1、 简单说明

互联网中,有用户注册的地方,基本就会有密码找回的功能。

密码找回功能一般不太被重视,往往是一个附属功能,简直就是一个天生的大坑,而且在越来越重视用户友好体验的今天,支持各种密码重置的功能层出不穷,功能越多,被攻击面也越多。

而密码找回功能里可能存在的漏洞,很多系统的所有者、架构师、开发人员、测试都没有想到。

而这些漏洞往往可能产生非常大的危害,如用户账号被盗等。

浆糊传说:这种漏洞在非常多的大互联网公司中都出现过。

2、 常见的一些密码找回的漏洞

1、密码找回的凭证太弱,如只需要填入一个四位或者六位的纯数字就可以重置密码,导致可以暴力破解。

2、密码找回凭证可从客户端直接获取。

密码找回凭证在客户端获取,在密码找回时注意抓包查看所有url返回响应等,看是否有最终的凭证出现,这样就可以绕过手机或者安全邮箱了。

一个经典案例,找回密码的答案在网页的源代码中……

3、密码找回凭证可以比较容易的猜出。

比如找回密码的关键凭证仅仅是时间戳的md5,一旦被攻击者发现,那么就可以轻松找回任意账户密码。

4、密码找回凭证存通用

很多系统的密码找回凭证是全局通用的,虽然是一串很复杂的加密数据,但是居然是全系统通用的。这个凭证可以重置任何用户。

5、用户找回密码的邮箱地址或者手机号码被修改。

导致可以使任意用户帮上自己可控的安全手机,然后就可以重置任意人的手机号码了。

6、执行密码重置或者修改的逻辑缺陷

有的系统在设计的时候,为了尽可能的代码复用或者其他的情况,可以在后面加参数,有的系统在回传这些参数的时候。参数都是从客户端回传到服务端的,比如常见的把用户ID,用户名都给传回到服务器,在回传之间,将数据修改的话,就可以用这个来修改任何用户的密码了…

3、经典案例-携程

携程的密码重置功能相当强大,支持“用户名”、“手机号”、“邮箱帐号”、“卡号”重置;换句话说,我们只要攻击以上4种信息中的任意一种,便可使用该功能重置相应用户的密码。

2013年2月,这个漏洞被发现并被人进行攻击。

4、其他浆糊传说

Gmail爆重置任意账户密码漏洞

谷歌Gmail账户的严重漏洞,利用该漏洞可以重置任意用户的密码。

Oren表示该问题由于Gmail存在xss和csrf漏洞,当攻击者发送一封标题为“确认账户所有权”的钓鱼邮件,要求收件人确认账户的所有权,并要求用户更改密码。在这封伪造的电子邮件中指向一个HTTPS的google.com地址,利用CSRF漏洞定制电子邮件,会直接控制受害者的账户。

时间: 2024-10-14 02:30:57

看好你的门-验证机制被攻击(4)-密码修改、重置功能常见漏洞的相关文章

看好你的门-验证机制被攻击(2)-JAVA蛮力攻击登陆

首先需要声明,本文纯属一个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考. 1. 简单说明 攻城的时候,城门总是最容易被攻破的地方. 而登陆功能的公开性,让无数的攻击者都试图猜测用户名和密码,从而获得未授权访问系统的权利. 这种攻击几乎无处不在,有系统的攻击,也有无聊人士的攻击,设置一些搞错了用户名用户的无聊尝试. 2. 前提和准备 我们首先需要有一个弱密码的系统,这样才可以去尝试蛮力攻击. 不要用这种方法去攻击第三方的应用,这是不道德和不友好的行为.分享这种方法,

看好你的门-验证机制被攻击(1)-保密性不强的密码

首先需要声明,本文纯属一个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考. 1. 简单说明 攻城的时候,城门总是最容易被攻破的地方. 如果一个WEB系统不够安全,往往是从登陆上面就出现了问题. 许许多多的web应用没有或者很少对用户密码的强度进行控制,这样的话,很容易被人在这里找到漏洞: 2. 常见保密性不强的密码 非常短甚至空白的密码: 密码和用户名完全相同: 初始的默认密码: 用常用词汇拼音.英语等作为密码: 比如: 123 123456 网站名称 qwert

看好你的门-验证机制被攻击(5)-“记住我”功能的常见漏洞

首先需要声明,本文纯属一个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考. 1. 简单说明 当我们登陆某个网站时,在登陆的旁边会有一个"记住我" 的复选框,这个登陆时的用户名和密码 就是一种状态,这个记住我是怎么实现的呢?其实就用利用的是cookie,当我们选择了"记住我"以后,浏览器会将用户名保存在浏览器的cookie中,我们下次登陆的时候,就会自动的去找cookie了. 浆糊传说:这种漏洞在非常多的大互联网公司中都出现过.不经历过惨

看好你的门-验证机制被攻击(6)-用户角色变更系统漏洞

首先需要声明,本文纯属一个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考. 1. 简单说明 用户角色变更的应用,在一般的纯互联网应用中,是非常少见的.但是在一些其他的行业,比如我所熟悉的语音行业,就是非常常见的. 我们在电视里也经常看到,某某金融大鳄给经纪人打电话,这个股票,给我买入1000万:那个股票,马上现价抛出. 在这个时候,接听电话的经纪人就和金融大鳄的角色进行了变更. 2. 常见的"角色变更"的漏洞 如果我们要把自己打扮成金融大鳄,我们需要获取很

看好你的门-验证机制被攻击(3)-智能化的蛮力攻击登陆

首先需要声明,本文纯属一个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考. 1. 简单说明 登陆功能的公开性,让无数的攻击者都试图猜测用户名和密码,从而获得未授权访问系统的权利. 作为系统的使用者,必须让自己的系统更加健壮,以应对狡猾的攻击者. 作为攻击者,需要去观察系统的各种细节情况,获得贴近实际的信息. 2. 智能化的蛮力攻击登陆步骤 我们首先需要有一个弱密码的系统,这样才可以去尝试蛮力攻击. 1. 用自己的某个合法账号进行尝试:比如提交几次错误的登陆,看收到什

看好你的门-验证机制被攻击(7)-可预测的用户名和密码

首先需要声明,本文纯属一个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考. 1. 简单说明 一些应用程序根据某种顺序自动生成帐户名,当然,现在邮箱.手机.QQ号码成为用户名的可能性越来越高,攻击者们也越来越省事了: 一些应用程序在大批量创建用户之后,并自动指定初始密码,然后通过某种方式(邮件.短信)将密码分配给用户. 2. 常见的可预测用户名和密码的漏洞 用户名和密码都能够预测了,理所当然的,这里的漏洞就很大的. 可预测的初始化密码,让攻击者能够预测其他应用程序用户

看好你的门-客户端传数据-用java修改referer

1.简单说明 Referer.origin用来表明,浏览器向WEB服务器表明自己来自哪里.但是就它本身而言,并非完全安全. 写一个例子,可以任意修改http信息头中的referer.origin 2.准备: 用httpClient4.0来具体实现 3.Java修改http信息头referer.origin的源代码 代码非常简单,就是修改了http头的referer.origin. 配套示例的jsp在:http://blog.csdn.net/ffm83/article/details/44095

看好你的门-确保验证机制的安全(5)-防止滥用密码修改和密码找回功能

首先需要声明,本文纯属一个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考. 1. 前提 执行安全的验证机制,不仅仅要同时满足几个关键安全目标,许多的时候也需要牺牲其他目标.比如易用性.成本.还有功能. 2. 防止滥用密码修改的基本要求 一些基本要求,写下来,以后也可以参考. 1. 加一个简单图片验证码,基本确保是人在操作,而不是机器: 2. 只能从已经通过验证的会话中访问该功能: 3. 不要以任何方式直接提供用户名,也不要使用隐藏表单字段或者cookie提供用户名:

看好你的门-确保验证机制的安全(2)-安全处理敏感信息

首先需要声明,本文纯属一个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考. 1. 前提 执行安全的验证机制,不仅仅要同时满足几个关键安全目标,许多的时候也需要牺牲其他目标.比如易用性.成本.还有功能. 我们需要综合考虑下面这些因素: 系统所提供功能的安全程度: 用户对不同类型的验证控制的容忍和接受程度: 支持一个不够友好的界面需要的整体成本(便捷和安全往往是一个事物的两个方向) 系统所保护的信息或者资产的价值. 2. 安全处理敏感信息 一些基本要求,写下来,以后也可