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

常见逻辑漏洞[通俗易懂] 支付逻辑漏洞检测方法与案列支付漏洞一般分为三类,支付过程可直接修改数据包中的支付金额开发人员为了方便,导致支付的关键数据,能直接截包查看而重要的金额数据,在后端没有做校验,传递过程中也没有做签名,导致可以随意篡改金额.  没有对购买数量进行负数限制产生的原因是开发人员没有对购买的数量参数进行严格的限制,传输过程没有做签名,导致可随意修改,经典的修改方式就是…

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

 

  1. 检测方法与案列

支付漏洞一般分为三类,

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

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

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

 

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

 

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

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

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

 

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

 

或修改成超大的数

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

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

 

 

  1. 请求重放

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

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

 

 

  • 密码找回逻辑漏洞
  1. 密码找回逻辑测试一般流程
  1. 首先尝试正常密码找回流程,选择不同找回方式,记录所有的数据包
  2. 分析数据包,找到敏感部分
  3. 分析后台找回机制采用的验证手段
  4. 修改数据包验证推测

 

  1. 常见思路及案列
  1. 用户凭证(验证码)暴力破解

验证码为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.net/136486.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 安卓蓝牙键盘鼠标映射_蓝牙鼠标模拟器

    安卓蓝牙键盘鼠标映射_蓝牙鼠标模拟器一直以来就有一种想法,就是自己写一个APP将安卓手机模拟成鼠标/键盘,应急的时候可以用来代替鼠标/键盘。之前也在国内外的网站上找了各种方案,但是这些方案不是很好,直到谷歌发布的API28后终于有了很好的解决方案。为了实现这个想法也走了不少弯路,也许方法不对吧,但看到最终完美运行的APP,心中还是很有成就感的。经测试装了此APP的手机能与几乎所有安卓手机、WIN10笔记本电脑连接并操作,苹果设备需要………

    2025年8月22日
    3
  • 六大算法之动态规划_动态规划100题

    六大算法之动态规划_动态规划100题在两条独立的水平线上按给定的顺序写下 nums1 和 nums2 中的整数。现在,可以绘制一些连接两个数字 nums1[i] 和 nums2[j] 的直线,这些直线需要同时满足满足:nums1[i] == nums2[j]且绘制的直线不与任何其他连线(非水平线)相交。请注意,连线即使在端点也不能相交:每个数字只能属于一条连线。以这种方法绘制线条,并返回可以绘制的最大连线数。示例 1:输入:nums1 = [1,4,2], nums2 = [1,2,4]输出:2解释:可以画出两条不交叉的

    2022年8月11日
    5
  • voliate理解

    voliate理解voliatevoliate定义java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致的更新,线程应该确保通过排他锁单独获得这个变量。Java语言提供了volatile,在某些情况下比锁更加方便。如果一个字段被声明成volatile,java线程内存模型确保所有线程看到这个变量的值是一致的。volatile可以保证线程可见性且提供了一定的有序性,但是无法保证原子性。在JVM…

    2022年6月5日
    113
  • Gradle‘s dependency cache may be corrupt (this sometimes occurs after a network connection timeout)

    Gradle‘s dependency cache may be corrupt (this sometimes occurs after a network connection timeout)

    2021年10月1日
    88
  • decltype typename[通俗易懂]

    decltype typename[通俗易懂]decltype((variable))总是引用类型,但是decltype(variable)只有当variable是引用类型时才是引用类型。#include<iostream>#include<typeinfo>usingstd::cin;usingstd::cout;usingstd::endl;autof(au…

    2025年9月2日
    7
  • html在线编辑器源代码_html编程

    html在线编辑器源代码_html编程变一般软件开发中必备的一样工具就是代码编辑器。传统的代码编辑器一般都是以软件安装包的形式安装到电脑里面,代码编辑保存后一般也是通过ftp或者svn等工具提交到服务器的(当然,像.NET开发中MicrosoftVisualStudio这样强大的集成工具另说了。)。在实际的项目开发中这样的方式也是挺便捷的。但是,随着各种云服务的兴起,云存储时代几乎已经是大势所趋了。个人或者小公司搭建一个类似的…

    2022年8月14日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号