逻辑漏洞

在我理解中,逻辑漏洞是指由于程序逻辑输入管控不严,导致程序不能够正常处理或处理错误,一般出现在登录注册、密码找回、信息查看、交易支付金额等。

我将所有逻辑漏洞的问题分为前端和后端两个部分,总体思路都是先测试前端再测试后端。在我理解中其实就是能突破规则限制的就是漏洞【像不可修改的通过抓包可以修改了】。

一、注册处

注册功能可能出现任意用户注册、短信轰炸等问题。

配合思维导图(此处以常见的手机注册举例,同理其他注册也可以套用该模型)。

框里面是对每一个步骤的解释,框右边是总结的流程。(先不管图片验证码的原因是因为就算图片验证码可绕过,厂商也会因为该漏洞危害小而忽略)

1、前端

首先是前端,打开burpsuite,将整个注册流程走一遍,将每个步骤的包都右键标上不同颜色。

就像这样:

查看每个返回包有没有返回手机验证码或者存在true、false之类的判断语句,尝试将false修改为true,成功注册的话就绕过了前端验证。

这样可以拦截该请求返回包:

2、短信轰炸

尝试重放发送验证码的包,查看手机是否在短时间内收到了多条短信,是的话则存在短信轰炸漏洞,这是因为后端没有对发送手机短信做时间限制。

3、修改发送包手机号

最后是修改发送包的手机号,首先用自己的手机收到正确验证码,在点击注册时拦截包将手机号改为其他手机号,如果成功的话就注册了别人的手机号,这是因为后端仅验证了验证码是否是正确的而没有验证验证码是否与手机匹配。

流程小结

1、前端判断【回显及判断】

2、短信轰炸

3、修改发送包手机号

【邮箱注册】4、修改发送包邮箱尝试覆盖注册

以上是手机注册的大概框架流程,同理其他注册类型也可以对比测试。

二、登录处

登录处可能出现任意用户登录、验证码可绕过、用户账号可撞库等问题。

配合思维导图,此处思维导图上说的密码也是手机验证码,因为是以手机验证码登录举例(此处以常见的手机验证码登录举例,同样账号密码登录也可以套用该模型,手机验证码登录的特殊处已用框标记)

同样的,也是先测试前端再测试后端。

1、前端

首先对比正确登录和错误登录的包,对比返回包看是否有判断,尝试修改参数绕过前端验证。(这里也是打开burpsuite整个流程走一遍,和上面的注册处测试差不多)

2、短信轰炸

测试短信轰炸与注册处测试步骤一样(一般来说注册处有短信轰炸的话这里也会有)。

3、验证码爆破

再然后就是验证码爆破(或绕过),此处验证码包括图片验证码和手机验证码,先测试图片验证码,将使用正确密码登录的包再重放一次,如果回显还是正确登录的话说明并没有对图片验证码进行限制,可以尝试撞库。

至于手机验证码,通常是尝试爆破,如果网站发到手机上的短信没有写什么在xx时间内有效之类的则有可能没有时间限制,将登录包右键发送至Intruder(即测试器模块)设置好爆破位置后在载荷里选择数值后这样填写。

通常范围是填写正确验证码所在的范围,爆破出来可以登录用户,漏洞标题也就可以写任意用户登录漏洞。

4、修改发送包手机号

修改发送包手机号则和上面注册处修改发送包手机号步骤一样,不同的是上面注册处是为了测试任意用户注册,而这里登录处是为了测试任意用户登录,原理一样目的不同。

5、修改用户参数

查看正确登录包的返回包是否有用户id之类的参数,尝试修改该参数。(不嫌麻烦的话可以用两个正确登录的返回包对比)

拦截该请求的返回包修改返回包中的用户参数。

流程小结

1、前端判断【回显及判断】

2、短信轰炸

3、验证码爆破

4、修改发送包手机号

5、尝试修改用户参数【注意token等参数】

三、密码找回处

密码找回处可能出现任意用户密码找回、验证码可绕过等问题。

密码找回处的思维导图,此处以手机验证码找回为例。

这里也是先前端再后端。

1、前端

前端测试与前面一致,无非就是修改返回包看是否能跳过验证步骤,此处也就略过。

2、验证码爆破

第2步之所以没有写短信轰炸是因为前面注册和登录已经测试过了。

验证码爆破与上面登录处的验证码爆破操作一致。

3、修改发送包手机号

这里与上面注册处的修改发送包手机号操作一致,也就不多说了。

流程小结(其实精华都在思维导图上,其他的都是做解释,在最后我会把思维导图整体放上来)

1、前端判断【回显及判断】

2、验证码爆破

3、修改发送包手机号或邮箱【提交时修改手机号或者修改验证码发送包的手机号】

4、【邮箱找回】链接尝试修改用户参数【注意token等参数】

四、支付与越权

这里放上思维导图。

这里之所以没有按先前端再后端的顺序来写,是因为几乎每个网站的支付和越权逻辑都不太一样,使用先前端再后端这样的框架的话就限制了思路。

在支付和越权这里我认为,只要有参数,都可以修改,都有可能出现问题。

通常我会使用两个账号来对比测试,这样可以更快发现可疑参数。

解释(有任何问题都可以留言,我会尽量解答,问题很多的话我会在过段时间的进阶篇里统一归纳整理):

支付接口指的是网站支付一般会有像微信支付、支付宝支付这种,一般网站会在支付的发送包里用某个参数标识。

登录时查看并测试用户信息返回接口指的是,在登录的时候,有的网站有个返回包是一个json数据包,该包内包含了用户敏感信息,此时就可以尝试修改发送包的用户参数,说不定就能获取其他用户的敏感信息。

思维导图总览

其实我感觉总览这个图字太小了,要看全部的话可以下载我分享的这个网盘原文件。

网盘链接: 提取码: suyf

逻辑漏洞挖掘初步总结篇相关推荐

  1. 逻辑漏洞小结之SRC篇

    最近在挖各大src,主要以逻辑漏洞为主,想着总结一下我所知道的一些逻辑漏洞分享一下以及举部分实际的案例展示一下,方便大家理解. 主要从两个方面看,业务方面与漏洞方面.(接下来就从拿到网站的挖掘步骤进行 ...

  2. 业务逻辑漏洞挖掘-某网站绕过下载付费机制进行下载文件

    某网站绕过下载付费机制进行下载文件 学习漏洞也学了一段时间了,对于一些常见的漏洞也就在靶场上练习.靶场毕竟是靶场,挖漏洞还是得尝试在一些真实的网站进行练习.于是,不多说了,虚拟机启动,burpsuit ...

  3. SRC之逻辑漏洞挖掘

    挖掘逻辑漏洞一般方法: 1. 发现网站所提供的功能模块: 2. 针对具体的功能确定业务流程: 3. 拦截HTTP/HTTPS请求,分析其参数的含义: 4. 修改参数值,尝试出发逻辑漏洞: 5. 返回第 ...

  4. [漏洞实战] 逻辑漏洞挖掘

    目录 1.逻辑漏洞概述 2.业务场景分类 2.1 金融类 2.2 电商类 2.3 服务类 2.4 社交类

  5. Web渗透测试之逻辑漏洞挖掘

    1.逻辑漏洞特点:简单.复杂 1.1.利用工具简单: 数据包抓取工具(Burpsuit.fiddler等) 1.2.思路复杂: 核心:绕过真实用户身份或正常业务流程达到预期目的. 1.2.1.用户身份 ...

  6. 逻辑漏洞挖掘之——逻辑漏洞概述

    逻辑漏洞概述 SQL 注入,文件上传,代码执行,我们把渗透一个站点的所有重点都放在了这些可以一步到位的漏洞上,我们把这些漏洞称之为高危漏洞,这些漏洞在工具化盛行的今天,已经越来越难见到了.现有的工具检 ...

  7. 100.网络安全渗透测试—[常规漏洞挖掘与利用篇16]—[密码找回漏洞与测试]

    我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!! 文章目录 一.密码找回漏洞与测试 1.密码找回漏洞简介 2.密码找回漏洞测试 (1)源码审计:forget.php (2) ...

  8. 89.网络安全渗透测试—[常规漏洞挖掘与利用篇5]—[文件包含漏洞详解实战示例]

    我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!! 文章目录 一.文件包含漏洞详解 1.文件包含漏洞相关概念 2.PHP文件包含漏洞相关概念 3.PHP文件包含漏洞利用:`构 ...

  9. 98.网络安全渗透测试—[常规漏洞挖掘与利用篇14]—[SESSION身份验证绕过漏洞与测试]

    我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!! 文章目录 一.session身份验证绕过漏洞与测试 1.session机制 2.session的生命周期 3.出现漏洞的情 ...

最新文章

  1. c语言程序计算bmi指数,计算BMI的程序怎么写
  2. 一做就是一天,这一天天的谁受得了
  3. SVM-支持向量机原理详解与实践之一
  4. 推荐系统炼丹笔记:推荐算法特征交叉新方式CAN
  5. AC日记——字符串位移包含问题 1.7 19
  6. python中item是什么类型的游戏_文本冒险游戏(Python)中的Item类
  7. 从此不再惧怕URI编码:JavaScript及C# URI编码详解
  8. 第5章-css选择器初级和背景
  9. webapi部署到IIS 404错误
  10. mysql 非最佳查询_Mysql 查询优化
  11. 【高并发】怎么演示公平锁和非公平锁?
  12. bellman ford优先队列优化简介模板
  13. 独家!337页大数据与建模核心资料,免费领取!
  14. 海尔手机V73 PC套件安装使用说明 管理好你的电话簿
  15. Oracle数据库启动过程详解
  16. 应用加密大师计算机,Windows文件夹加密大师
  17. 解密Zynga:专注 流水线 数据控
  18. 太实用了!Excel VBA常用代码!
  19. Git Alias(git快捷命令别名设置)
  20. 连接工作站跑机器学习(Linux命令)

热门文章

  1. 思科拓扑结构探测及VLAN设计
  2. 容器学习 之 镜像的分层结构(六)
  3. C++题解-Leecode 520. 检测大写字母——Leecode每日一题系列
  4. 【绝对有用】Syntax error on token “throws“, @ expected after this token
  5. (干货满满!)session和cookie作用原理,区别(史上最详细)
  6. 矩阵快速幂(教主传授)
  7. @EnableTransactionManagement原理
  8. 人工智能不是计算机领域能学么,华南理工大学《高级人工智能》考试真题1
  9. 在Apache上配置防盗链功能和隐藏版本号
  10. 将项目依赖也打到jar包中