关于业务逻辑漏洞


逻辑漏洞

 逻辑漏洞应用在方方面面,主要是根据应用不通产生的逻辑方面漏洞不同。比如金融网站和互联网网站以及购物网站,挖掘逻辑漏洞方法完全不一样。


可能出现的场景

  • 用户注册场景
  • 登录场景
  • 支付场景
  • 修改资料场景
  • 信息交互场景
  • 绑定手机场景

三类业务逻辑漏洞

权限控制类
平行越权
  • 平行越权访问漏洞,指的是权限平级的两个用户之间的越权访问。

  • 比如银行汇款记录查询,张三先是查询了自己的汇款记录,然后发现可以通过修改URL中的参数来查询李四的汇款记录

  • 某网站通过抓包修改自己信息的POST请求的参数,达到篡改他人信息的目的

垂直越权
  • 垂直越权访问漏洞,指的是权限不等的两个用户之间的越权访问。
  • 比如没有登录,直接能够无权限的情况下访问某页面
  • 在博客论坛中,一个正常的普通用户,通过burpsuite抓包修改自己的用户ID为管理员的用户ID,使其成功登录了管理员的帐号。
接口控制
  • 特殊接口,没有做访问权限控制,某些接口是并不是面向用户开放的,但是因为某种原因被泄露了,致使未授权用户访问接口
  • 乌云一个未授权接口导致信息泄露的例子

密码修改找回类
凭证可破解
  • 四位或者六位的验证码,开发者没有做频率限制,可以爆破
凭证可获取
  • 密保或者验证码返回到相应包中

  • 乌云丽子美妆的例子

    • 通过找回密码功能

    • 输入手机号,验证码,下一步,抓包,查看返回值

    可以看到响应包中返回了验证码,导致可重置任意用户的密码。

token可猜解
  • token参数为时间戳MD5,用户名,邮箱等等
  • 比如通过邮箱找回密码,邮箱中会收到密码重置链接,如果可以猜出token是什么组成的,如果是生成的时间戳,那么可以选出时间段去爆破时间戳,达到重置密码的目的
  • tip:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。
前端校验
  • 验证码校验成功后,通过js代码验证响应包来完成校验
  • 比如请求修改密码,验证原密码后返回的是一个Json,通过修改Json某个字段,可以绕过前端校验
步骤可跳过
  • 可以直接跳过某些验证修改密码

支付类
支付金额
  • 支付过程中直接通过抓包修改数据包中的金额
  • 乌云大疆的例子
  • 乌云某购物网站的例子
支付数量
  • 数量的参数没有做数字签名导致可随机更改,经典的修改方式就是改为负数或者很大
并发提现
  • 通过多线程同以时间发送大量提现请求,当数据库事务未加锁情况下出错
  • 假设现有一个用户在系统中共有2000元可以提现,他想全部提现。于是该用户同时发起两次提现请求,第一次提交请求提现2000元,系统已经创建了提现订单但还未来得及修改该用户剩余金额,此时第二次提现请求同样是提现2000元,于是程序在还未修改完上一次请求后的余额前就进行了余额判断,显然如果这里余额判断速度快于上一次余额修改速度,将会产生成功提现的两次订单,而数据库中余额也将变为-2000。而这产生的后果将会是平台多向该用户付出2000元。
优惠券
  • 遍历领取,同一个优惠券使用多次,未满足条件使用代金券

经典的测试方法

 想发现逻辑漏洞,那就必须了解业务的运作流程,比如修改密码类的逻辑漏洞,你就得注册个账号,走一遍正常的找回密码流程,在这中途可以抓包看看业务时如何实现跳转到密码修改的,看看请求包和响应包中有什么,如果请求包中带有账户名称,你就得尝试修改账户名称,看看可不可实现修改其他账户密码的目的,查看返回包,如果到响应包带有验证信息,或者它直接做的是前端校验,那么你就可以尝试修改响应包来达到修改密码的目的。


文章作者: wkai
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 wkai !
 本篇
关于业务逻辑漏洞 关于业务逻辑漏洞
逻辑漏洞 逻辑漏洞应用在方方面面,主要是根据应用不通产生的逻辑方面漏洞不同。比如金融网站和互联网网站以及购物网站,挖掘逻辑漏洞方法完全不一样。 可能出现的场景 用户注册场景 登录场景 支付场景 修改资料场景 信息交互场景 绑定
2020-09-03
下一篇 
(六)SQL注入—时间型盲注 (六)SQL注入—时间型盲注
有时候无论输入的值是否正确,都返回一样的页面,这样就无法使用布尔注入了,但是可以通过返回时间来判断 时间型盲注的关键函数就在于sleep(),还有if() if(条件判断式,真,假),如果判断式为真就返回第二个参数,如果为假则返回第三个参数
2020-09-01
  目录