常见逻辑漏洞[通俗易懂]

2022-08-19 20:37:44 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

  • 支付逻辑漏洞
  1. 检测方法与案列

支付漏洞一般分为三类,

  1. 支付过程可直接修改数据包中的支付金额

开发人员为了方便,导致支付的关键数据,能直接截包查看而重要的金额数据,在后端没有做校验,传递过程中也没有做签名,导致可以随意篡改金额.

  1. 没有对购买数量进行负数限制

产生的原因是开发人员没有对购买的数量参数进行严格的限制,传输过程没有做签名,导致可随意修改,经典的修改方式就是改成负数.

或修改成超大的数

  1. 请求重放

购买成功后,重放其中的请求,竟然可以使购买商品一直增加.

  • 密码找回逻辑漏洞
  1. 密码找回逻辑测试一般流程
  2. 首先尝试正常密码找回流程,选择不同找回方式,记录所有的数据包
  3. 分析数据包,找到敏感部分
  4. 分析后台找回机制采用的验证手段
  5. 修改数据包验证推测
  6. 常见思路及案列
  7. 用户凭证(验证码)暴力破解

验证码为4位&6位的数字

  1. 在返回请求中已包含凭证

url返回验证码及token例子

使用查看元素或者burpsuite查看返回包

  1. 本地进行凭证比对

密码找回凭证在页面中,当比对成功才会进行发起请求

返回MD5加密的短信验证码,进行本地比对

  1. 邮箱弱token

通过修改返回的token中加密的uid值,间接修改其他用户密码

Vc=参数后面的是md5加密,解密后得到的是uid,然后通过修改uid转md5后即可任意修改密码

用户名、服务器时间

找回密码的token是根据时间生成的

  1. 凭证未和用户id绑定

填写完自己的手机号和验证码,抓包将username值改为其他id

邮箱token未绑定

找回密码链接发送到邮箱内,查看连接,直接填写上用户ID和邮箱地址即可更改密码

  1. 自己邮箱绑定其他用户id
  1. 服务器验证返回账户名

找回密码处填写正确邮箱得到用户名

上一步已经得到正确的用户名了,这一步填写自己的邮箱,并且写入正确的邮箱验证码,然后修改uid为上一步的用户即可

  1. 跳过服务器验证

通过抓取数据包直接把问题答案删除跳过认证

  1. 手机号和验证码未绑定

在登陆页面中选择找回密码,输入自己的手机号,获取一条短信认证码

chrome浏览器在接下来的页面中审查元素,将hidden的form中找到自己的手机号,并改为目标手机号即可

  1. 本地验证

点击忘记密码,输入用户名admin,选择手机找回,点击发送验证码,然后不用管,继续随便写验证码,然后下一步,此时抓包并查看回显包,修改为200即可绕过验证

  1. session覆盖

输入自己的账号,一步步的正常操作,直到修改密码的链接发送到自己的邮箱,发到邮箱后修改密码的链接不要打开

在同浏览器内打开网站还是忘记密码输入要修改的账号输入完要修改的账号后,一步步正确操作,然后发送修改密码的链接到邮箱(邮箱肯定不是咱的)

这个时候在同一浏览器中打开发到我们邮箱的链接

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/136486.html原文链接:https://javaforall.cn

0 人点赞