网站安全检测之用户密码找回网站漏洞的安全分析与利用

我们SINE安全在对网站,以及APP端进行网站安全检测的时候发现很多公司网站以及业务平台,APP存在着一些逻辑上的网站漏洞,有些简简单单的短信验证码可能就会给整个网站带来很大的经济损失,很简单的网站功能,比如用户密码找回上,也会存在绕过安全问题回答,或者绕过手机号码,直接修改用户的账户密码。

在短信×××,以及用户密码找回的网站漏洞上,我们来跟大家分享一下如何利用以及如何防范该漏洞的×××。

我们来看下之前对客户网站进行的网站安全检测的时候我们发现到的短信×××漏洞,由于客户反映注册网站会员的时候会收到好几条重复的验证码短信,甚至多次点击提交也会导致收到好多条验证码信息,随即我们SINE安全对其进行详细的安全检测,果然发现了问题,对注册会员的时候确实存在多次发送短信的情况,我们对提交的数据,GET,POST方式进行多次的安全测试,发现post数据的时候,在smg值后面随意添加任何参数,即可导致网站发送验证码短信到用户手机上,可以发送无数条短信,如果被×××者利用,那带来的损失无法估量。

对于这次检测出来的短信×××漏洞,首先分析代码,从之前程序员写的代码里看出,在用户登录这个过程代码里没有进行详细的安全过滤,导致输入用户名密码就可以发送验证码,再一个就是程序员设计的过程中将测试的手机号码都存放于数据库里,导致很多正常的用户收到测试时候的短信验证码。再一个漏洞产生的原因,就是程序代码里设计的初始化密码为123456,导致在找回密码重置密码的时候就会进行写入数据库,×××者利用撞库就可以很容易的猜测到用户的密码。

那么该如何防范短信×××漏洞呢?

从网站安全的角度来分析,以及网站安全部署层面上看,在短信平台上可以做到防止短信无数发送,现在阿里云的短信平台,可以做到防止多次发送短信到用户手机,一个手机号一天只能接收5次短信的安全限制,再一个就是从程序代码里进行安全加固,对注册的会员,进行判断,如果是一个IP,只能发送一条短信。用户点击获取验证码前输入图文验证码,才能发送,间隔时间60秒才能发送一条短信。在整体的网站安全检测中我们要提前告知客户,我们在进行操作什么,网站漏洞扫描,网站漏洞利用,数据库写入删除等比较重要的操作,都要事先跟客户告知,提前对网站的数据进行整体的安全备份,包括数据库的备份,网站源代码的备份。在×××测试当中我们要先进行安全评估,整体的安全检测会不会给用户带来影响以及损失,尽可能的不要产生影响客户网站访问,以及业务正常运转。下一篇文章跟大家分享用户密码找回漏洞的利用与分析。

原文地址:http://blog.51cto.com/13753419/2161826

时间: 2024-07-29 08:30:56

网站安全检测之用户密码找回网站漏洞的安全分析与利用的相关文章

JMeter使用SSH Command实现批量检测linux用户密码是否正常

需求分析1.日常工作中,可能需要对linux服务器的用户密码做校验,验证用户密码是否正常,比如用户.密码错误.或者连接就提示需要修改密码,都算异常:2.这种情况如果只有一两台服务器需要校验,可以手动实现,但是如果50台,100台,还去手工校验,那就是一件很繁琐的事,还可能校验出错:3.本人就介绍下实际工作需要校验50台服务器,如何通过jmeter自动实现校验,简单.高效,手工校验可能需要半天才能实现,开发个jmeter脚本,只需要10分钟搞定,以后有相同工作,只用修改参数文件马上能校验成功:4.

密码找回逻辑漏洞总结

0x00 背景介绍 请注意这两篇文章: 密码找回功能可能存在的问题 密码找回功能可能存在的问题(补充) 距离上两篇文档过去近半年了,最近整理密码找回的脑图,翻开收集的案例,又出现了一些新的情况,这里一并将所有见到的案例总结并分享给大家,在测试时可根据这个框架挖掘! 0x01 密码找回逻辑测试一般流程 首先尝试正常密码找回流程,选择不同找回方式,记录所有数据包 分析数据包,找到敏感部分 分析后台找回机制所采用的验证手段 修改数据包验证推测 0x02 脑图 0x03 详情 用户凭证暴力破解 四位或者

制作登录注册密码找回网站常用控件

常用控件有TextBox(文本框)和Button(按钮) TextBox属性TextMode,值为 SingleLine|Password|MultiLine.如需查看TextBox2文本框里位数用TextBox2.Text.Length ,查看某个字符位置TextBox2.Text.IndexOf("") Button属性PostBackUrl,ToolTip,值分别为 url(作用:单击时,指向的页面),提示语. RequiredFieldValidator用来规定文本框输入不能为

mysql忘记root用户密码找回步骤

修改或找回root密码步骤1.修改MySQL的登录设置: # vi /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出vi. 2.重新启动mysqld # /etc/init.d/mysqld restart ( service mysqld restart )3 mysql -uroot -p 回车 mysql> USE mysql ; mysql> UPDATE user SET Password = password ( 'new-

网站开发之用户重设密码 找回密码功能的实现原理

网站开发之用户重设密码 找回密码功能的实现原理,这个东西基本在现在每个系统中都带有的功能,但是实现的方式也是挺多的,这个是跟数据库没多大关系的方法嘞. 用户流程: 1.用户忘记密码,来到密码重设界面 2.用户输入Email地址,点击重设密码按钮 3.用户收到一封密码重设邮件,里面有重设密码的链接,此链接有过期时间 4.用户点击链接,来到密码重设页面,输入新密码,完成 这个流程并没有什么创新,很多网站都是用这套流程 后端实现方式: 1.当用户输入Email地址后,验证这个Email,如果存在于数据

QQ网站如何检测对本地已经登录的qq用户

网上有很多猜测,比如—— QQ 登录时在本地某地方存登录 ID 信息(Cookie 或文件),用 js 读,然后去服务器认证.但是现在的浏览器一般有沙箱功能,js 无法读到登录 ID:而且在清空 Cookie 后依然起作用. 以 IP.CPU ID.硬盘 ID 等硬件设备 hash 做唯一标识,QQ 登录时在服务器记录此信息,js 验证.感觉这样依赖环境过多,QQ 不太可能采用此方法. QQ 启动某端口监听,js 连接此端口.但是用 netstat 查看后,QQ 并没有监听端口. 有这么一个神奇

使用IntelliJ IDEA开发SpringMVC网站(四)用户管理

原文:使用IntelliJ IDEA开发SpringMVC网站(四)用户管理 摘要 通过对用户表的管理,更加深入地讲解SpringMVC的操作. 目录[-] 文章已针对IDEA 15做了一定的更新,部分更新较为重要,请重新阅读文章并下载最新源码. 七.用户管理 1.JPA操作定义 2.后台管理 (1)查看所有用户 (2)添加用户 (3)查看用户详情 (4)修改用户信息 (5)删除用户 转载请注明出处:Gaussic(一个致力于AI研究却不得不兼顾项目的研究生) . 注:在阅读本文前,请先阅读:

C#中模拟用户登陆SharePoint网站

自动化测试一个SharePoint网站,首先要登陆,我们今天就模拟一下用户登陆SharePoint网站的过程,这一过程可以通过其他方式完成模拟,比如通过Coded UI Test录制脚本会更方便,但是这里主要介绍通过API结合Selenium2.0来实现这个过程: 首先我们要创建一个C#的Project,什么类型的都可以,这里拿控制台程序举例,程序如下: using System; using System.Collections.Generic; using System.Linq; usin

七、统计网站中不同省份用户的访问数

一.需求 针对log日志中给定的信息,统计网站中不同省份用户的访问数 二.编程代码 package org.apache.hadoop.studyhdfs.mapreduce; import java.io.IOException; import org.apache.commons.lang.StringUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configured; im