zoukankan      html  css  js  c++  java
  • 任意用户密码重置的姿势

    任意用户密码重置的姿势

    0x01:验证码不失效

    验证码的有效时间没有合理的进行限制,导致一个验证码可以被枚举猜解;举例:我们重置密码需要邮件或短信接受验证码,而这个验证码没有时间限制,可以无限制的重复使用,由此带来了安全问题,攻击者通过验证码枚举获得。

    0x02:验证码明文返回

    系统会直接在数据包中返回验证码

    0x03:验证码未绑定用户

    存在A用户接受的验证码可以对B用户进行使用,这是缺少了一种匹配机制,系统没有匹配当前验证码是否匹配用户B,如果用户B不进行该机制匹配判断,就可以利用A用户的验证码来操作B用户。

    0x04:可修改验证码接受的邮箱或手机

    输入验证码后没有验证手机号、用户、验证码三者之间是否完全匹配,由此会导致利用该机制漏洞进行手机号的篡改。

    0x05:本地验证码绕过

    客户端验证进行验证码的校验是及其不安全的,本地校验会返回一个判断结果True/false,我们可以在本地修改这个判断结果即可绕过。

    0x06:跳过验证步骤

    不对步骤进行校验,即在1-3步骤不校验1-2步骤是否完成或通过,导致从1-1可直接跳至1-3步骤

    0x07:未校验用户字段

    在重置密码验证中,只对手机号/邮箱和验证的关联匹配判断,不匹配判断用户名和手机,由此导致在数据包中利用A用户执行操作,修改数据包中的A用户为B用户

    0x08:缺少用户判断

    重置密码处利用用户ID来修改密码,通过数据包修改用户的ID值,进行任意用户的密码修改,非常流氓的是通过ID值得枚举,可以修改全数据库得用户密码全重置,完全可以忽视用户名

    0x09:Cookie值替换

    重置密码处将用户标识和相关字段放入了Cookie中进行存储传递,对Cookie进行判断是否存在或者加密是否正确来重置密码

    0x10:修改信息时替换字段值

    修改处可以尝试修改隐藏的参数字段值,比如修改用户的ID值/用户名,由此通过A用户的信息修改处来伪造成B用户进行提交,导致B用户的信息被修改。

  • 相关阅读:
    OrCAD原理图封装规则
    web的脚本安全-CSRF
    web的脚本安全-XSS
    数据库中左右连接
    如何解决Java.lang.NoClassDefFoundError
    css垂直居中
    网上免费的web service地址
    JS 正则表达式用法
    jQuery实现滚动条向下拉到一定的程度,然后这层就一直占着不管滚动条如何向下拉都不动了的效果
    Robot Framework + Selenium2Library环境下,结合Selenium Grid实施分布式自动化测试
  • 原文地址:https://www.cnblogs.com/wangyuyang1016/p/13336925.html
Copyright © 2011-2022 走看看