逻辑漏洞之越权、支付漏洞

   日期:2020-09-07     浏览:454    评论:0    
核心提示:目录逻辑漏洞Web安全渗透三大核心方向输入输出登录体系、权限认证业务逻辑漏洞分类1、登录体系安全暴力破解cookie安全加密测试登录验证绕过任意注册2、业务一致性安全手机号篡改邮箱和用户名更改订单ID更改商品编号更改用户ID篡改流程顺序3、业务数据篡改金额数据篡改商品数量篡改最大数限制突破金额&优惠组合修改4、密码找回漏洞分析数据包,定位敏感信息分析找回机制修改数据包验证任意密码找回5、验证码突破暴力破解时间、次数突破回显测试验证码绕过测试验证检验机制猜解6、会话权限安全未授权访问水平&垂直

目录

    • 逻辑漏洞
    • Web安全渗透三大核心方向
      • 输入输出
      • 登录体系、权限认证
    • 业务逻辑漏洞分类
      • 1、登录体系安全
          • 暴力破解
          • cookie安全
          • 加密测试
          • 登录验证绕过
          • 任意注册
      • 2、业务一致性安全
          • 手机号篡改
          • 邮箱和用户名更改
          • 订单ID更改
          • 商品编号更改
          • 用户ID篡改
          • 流程顺序
      • 3、业务数据篡改
          • 金额数据篡改
          • 商品数量篡改
          • 最大数限制突破
          • 金额&优惠组合修改
      • 4、密码找回漏洞
          • 分析数据包,定位敏感信息
          • 分析找回机制
          • 修改数据包验证
          • 任意密码找回
      • 5、验证码突破
          • 暴力破解
          • 时间、次数突破
          • 回显测试
          • 验证码绕过测试
          • 验证检验机制猜解
      • 6、会话权限安全
          • 未授权访问
          • 水平&垂直越权测试
          • 会话固定&会话劫持
      • 7、数据重放安全
          • 恶意注册
          • 短信&邮件炸弹
          • 内容编辑
          • 条件竞争
          • 信息遍历
      • 8、数据接口安全
          • APP接口webservice
          • 邮件&短信网关接口
          • 数据库接口
          • 三方接口
    • 支付漏洞
          • 1、抓包改价格
          • 2、将未支付状态改为已支付
          • 3、用别人的银行卡支付
        • 演示
    • 越权漏洞
        • 分类
        • 危害
      • 如何检测
      • 水平越权
        • 定义
        • 演示
      • 垂直越权
        • 定义
        • 演示
      • 水平垂直越权
      • 越权漏洞修复方案

逻辑漏洞

因为程序本身逻辑不严或逻辑太复杂,导致一些逻辑分支不能够正常处理或处理错误,造成的一系列漏洞

Web安全渗透三大核心方向

输入输出

OWASP早期比较侧重的典型的web漏洞:注入、跨站、上传、代码执行等属于输入输出

登录体系、权限认证

近年来,越权漏洞、逻辑绕过、接口安全等逐渐增多,这些属于登录体系和权限认证

业务逻辑漏洞分类

1、登录体系安全

暴力破解
 用弱密码字典,或者社工生成针对性的字典去爆破密码

在线生成社工密码

cookie安全
有的网站对cookie不加密,也不base64编码,直接明文表示。可以自己重构组建cookie
加密测试
测试cookie、用户名、密码等敏感信息是否加密、使用了什么加密算法,然后解密
登录验证绕过
直接在url里输入要进入的页面路径、文件名,看能不能不登录就直接访问
任意注册
不验证手机号,不要求提供手机验证码(或者可绕过)。比如生成十亿条手机号,然后批量注册,将没有注册过的手机号都注册掉,影响正常用户的注册。
或者只验证手机号,不验证是否注册过。比如这个手机号a用来注册一个微信号,然后a不用了,营业厅又把这个手机号卖给b了,b又拿着这个手机号注册了一个微信。结果b新注册的微信覆盖掉了a的微信(只是举例,纯属虚构)

2、业务一致性安全

手机号篡改
抓包,将目标手机号改为自己的手机号,然后自己的手机号就接收到了验证码,有的网站只会验证验证码是否正确,没绑定用户,不验证是发给谁的。
邮箱和用户名更改
同上,只是改的是邮箱和用户名
订单ID更改
改ID,第一次下了5万的订单,第二次下一个5块钱的订单。可以抓包将第二次的订单号改成第一次的订单号。或者换成别人值钱的订单号,系统可能会将第一次的订单发两次
商品编号更改
改商品编号,比如本来买的是5毛钱的1号商品,改成50k的2号商品
用户ID篡改
使用自己的账号密码登录成功,获取登录成功的状态码。然后将ID换成别人的ID,系统如果只验证状态码的话,就会以别人的ID登录
流程顺序
比如一个自动售货机,本来应该是先收钱,再吐商品。换个顺序,就成了先吐商品,再收钱。然后你就能拿了商品就跑

3、业务数据篡改

金额数据篡改
修改商品价格。0元购(一般是虚拟货币,比如用金币、Q币支付),0.01元购(一般是RMB支付,因为银行卡每次转账的金额必须大于等于0.01)
商品数量篡改
修改商品数量,本来只买1件衣服,改成买了100件衣服
最大数限制突破
比如特价商品限购1件,改成10件
金额&优惠组合修改
顾名思义,同上

4、密码找回漏洞

分析数据包,定位敏感信息
在实现找回密码功能时,有些网站会在返回包里加入一些敏感内容
分析找回机制
看是通过邮箱验证码还是手机验证码验证用户身份的
修改数据包验证
改cookie等信息
任意密码找回
通过分析验证码、cookie、状态码找回、修改密码——或者跳过验证步骤、找回方式等步骤,直接跳到设置新密码界面

5、验证码突破

暴力破解
验证码爆破,有的验证码就是0000-9999,可以一个一个试
时间、次数突破
有的验证码在一定时间内可以重复使用,比如使用手机验证码登录,然后登录完之后,还可以使用这个验证码修改密码(如果修改密码需要用到手机验证码的话),或者再重新登录一次
回显测试
进入找回密码页面,输入手机号,获取验证码,服务器会向手机发送验证码,可以抓包查看返回包信息,有时返回包中会包含验证码
验证码绕过测试
注册的时候需要手机验证码,此时可以随便填一个手机号。然后抓包改状态码,比如将0改为1,将false改为true
验证检验机制猜解
验证码生成有规律,可以猜测。比如是用户名加当前时间。比如这一次是0001,下一次是0002,下下一次是0003……验证码可控,我们能猜出下一次验证码是什么

6、会话权限安全

未授权访问
顾名思义,没经过授权就访问。和登录测试绕过差不多,都是未授权(没有登录),就看到了本应登录才能看到的东西
水平&垂直越权测试
水平测试,用户a执行了用户b的操作;垂直越权,a执行了管理员的操作
会话固定&会话劫持
会话固定:诱骗受害者使用攻击者指定的会话标识(SessionID)的攻击手段。会话固定也可以看成是会话劫持的一种类型,只不过不是盗取受害者的session,而是让受害者使用攻击者指定的session。
会话劫持:过盗取受害者Session ID,然后利用受害者的Session ID登录受害者的账号

7、数据重放安全

恶意注册
同任意注册
短信&邮件炸弹
有的只在前端验证,比如60s后才能重新发送短信验证码,但是后端没有验证,可以让他一直重发,耗尽他短信池的流量,一般用来做DDoS
内容编辑
条件竞争
比如上传一个木马,服务器识别到就会删除一个。同时发100000万个,然后不停的请求执行这个木马。在某一刻,服务器还没识别到这是个木马并删除的时候,你先请求执行这个木马——只要你上传的速度大于他删除的速度,总会成功请求一个的
信息遍历
比如有的网站,id=1,就返回1号用户的信息;id=2,就返回2号用户的信息……id=10000,就返回10000号用户的信息。重发的时候,可以设置id逐步加1,就能遍历所有人的信息

8、数据接口安全

APP接口webservice
邮件&短信网关接口
数据库接口
三方接口

一般来说,调用别人的接口都是有限制的,要么有次数限制,要么得花钱买。所以可以将用DDoS的方式耗光次数。而且在接口的位置可以爆破密码。

支付漏洞

1、抓包改价格

在支付当中,购买商品一般分为三步骤:订购、确认信息、付款。随便哪个步骤都可以进行修改价格测试,若是前面两步也有验证机制,可以在最后一步付款时进行抓包尝试修改金额

2、将未支付状态改为已支付

改状态码

3、用别人的银行卡支付

将银行卡号换成别人的银行卡号

演示

进入靶场,点击立即购买

提示花费了100元购买了商品

抓包
发现支付的金额就利用get传参明明白白写在这里

将价格改成0.01
放包,只花费了0.01元

越权漏洞

分类

1.根据对数据库的操作进行分类,可以分为以下几类:越权查询、越权删除、越权修改、越权添加等。
2.根据维度进行分类,可分为:平行越权、垂直越权、交叉越权。

这里讲的是根据维度进行分类

危害

越权漏洞的危害与影响主要是与对应业务的重要性相关,比如说某一页面服务器端响应(不局限于页面返回的信息,有时信息在响应包中,页面不一定能看见)中返回登录名、登录密码、手机号、身份证等敏感信息,如果存在平行越权,通过对用户ID的遍历,就可以查看所有用户的敏感信息,这也是一种变相的脱裤,而且很难被防火墙发现,因为这和正常的访问请求没有什么区别,也不会包含特殊字符,具有十足的隐秘性。

如何检测

最简单的方式,通过定位鉴权参数,然后替换为其他账户鉴权参数的方法来发现越权漏洞。

水平越权

定义

水平越权,就是权限类型不变,权限ID改变。比如a,b两个普通用户,a只能看a的资料,b只能看b的资料。但是a通过修改用户名或者其他参数,看到了b的资料,就是水平越权。

演示

点一下提示,看到了用户,密码信息。

使用lucy登录

查看个人信息,是lucy的信息

刷新界面,抓个包,将lucy改为lili

此时,查看个人信息,显示的是lili的信息

垂直越权

定义

权限ID不变,权限类型改变。比如linux里面普通用户使用sudo提权,id未变,权限变了。
比如服务器是通过验证某个字段的值来判断用户的权限,比如role为1则为管理员,role为0则为普通用户,普通用户通过手动修改role的值,欺骗服务器,达到提权的目的。

如果普通用户和管理员用户不在一个表里。则使用更改cookie的方法来提权。

演示

查看提示,知道了普通用户pikachu的密码,登录pikachu

此时发现只有查看权限

退出登录,使用admin用户登录
添加一个用户

创建的时候抓包,然后发送给重发器(Ctrl+R)

发完之后将包放了

退出admin的用户登录,此时再以pikachu的身份登录


这个时候已经admin创建的1用户已经生效了

刷新一下,抓个包,复制pikachu用户的cookie的值

回到重发器
将这里原本admin的cookie改为pikachu的cookie,用户的账号密码也改一下,以区分之前创建的1用户

点击发送,刷新一下页面,多了个2用户

水平垂直越权

顾名思义,这是前两个的合集。可以这么理解:技术部的员工干了人事部部长的事…………

越权漏洞修复方案

1、基础安全架构,完善用户权限体系。要知道哪些数据对于哪些用户,哪些数据不应该由哪些用户操作;
2、鉴权,服务端对请求的数据和当前用户身份做校验;
3、不要直接使用对象的实名或关键字。
4、对于可控参数进行严格的检查与过滤!
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服