常见逻辑漏洞总结

news2024/11/26 16:51:57

Web安全测试中常见逻辑漏洞解析(实战篇)

简要:

越权漏洞是比较常见的漏洞类型,越权漏洞可以理解为,一个正常的用户A通常只能够对自己的一些信息进行增删改查,但是由于程序员的一时疏忽,对信息进行增删改查的时候没有进行一个判断,判断所需要操作的信息是否属于对应的用户,导致用户A可以操作其他人的信息。

逻辑漏洞挖掘一直是安全测试中“经久不衰”的话题。相比SQL注入、XSS漏洞等传统安全漏洞,现在的攻击者更倾向于利用业务逻辑层的应用安全问题,这类问题往往危害巨大,可能造成了企业的资产损失和名誉受损,并且传统的安全防御设备和措施收效甚微。Web安全测试中逻辑漏洞的挖掘经验:

一:订单金额任意修改

解析

很多中小型的购物网站都存在【订单金额任意修改】漏洞。在提交订单的时候抓取数据包或者直接修改前端代码,然后对订单的金额任意修改。

如下图所示:

经常见到的参数大多为:

rmb 、value 、amount 、cash 、fee 、money 等

关于支付的逻辑漏洞这一块还有很多种思路,比如相同价格增加订单数量,相同订单数量减少产品价格,订单价格设定为负数等等。

预防思路

1.订单需要多重较验,如下图所演示:

2. 订单数值较大时需要人工审核订单信息,如下图所演示。

二:验证码回传

解析

这个漏洞主要是发生在前端验证处,并且经常发生的位置在于

账号密码找回 、账号注册 、支付订单等

验证码主要发送途径

邮箱邮件 、手机短信

其运行机制如下图所示:

黑客只需要抓取Response数据包便知道验证码是多少。

预防思路

1.response数据内不包含验证码,验证方式主要采取后端验证,但是缺点是服务器的运算压力也会随之增加。

2.如果要进行前端验证的话也可以,但是需要进行加密。当然,这个流程图还有一些安全缺陷,需要根据公司业务的不同而进行更改。

三.未进行登陆凭证验证

解析

有些业务的接口,因为缺少了对用户的登陆凭证的较验或者是验证存在缺陷,导致黑客可以未经授权访问这些敏感信息甚至是越权操作。

常见案例:

1. 某电商后台主页面,直接在管理员web路径后面输入main.php之类的即可进入。

2. 某航空公司订单ID枚举

3. 某电子认证中心敏感文件下载

4.某站越权操作及缺陷,其主要原因是没对ID参数做cookie验证导致。

5. 实际上还有很多案例,他们都存在一个共同的特性,就是没有对用户的登陆凭证进行效验,如下图为例。

预防思路

对敏感数据存在的接口和页面做cookie,ssid,token或者其它验证,如下图所示。

四:接口无限制枚举

解析

有些关键性的接口因为没有做验证或者其它预防机制,容易遭到枚举攻击。

常见案例:

1. 某电商登陆接口无验证导致撞库

2. 某招聘网验证码无限制枚举

3. 某快递公司优惠券枚举

4. 某电商会员卡卡号枚举

5. 某超市注册用户信息获取

预防思路

1. 在输入接口设置验证,如token,验证码等。

如果设定验证码,最好不要单纯的采取一个前端验证,最好选择后端验证。

如果设定token,请确保每个token只能采用一次,并且对token设定时间参数。

2. 注册界面的接口不要返回太多敏感信息,以防遭到黑客制作枚举字典。

3. 验证码请不要以短数字来验证,最好是以字母加数字进行组合,并且验证码需要设定时间期限。

4. 优惠券,VIP卡号请尽量不要存在规律性和简短性,并且优惠券最好是以数字加字母进行组合。

等。

五:cookie设计存在缺陷

解析

这里需要对其详细的说一下。我们先一个一个来吧。

Cookie的效验值过于简单。有些web对于cookie的生成过于单一或者简单,导致黑客可以对cookie的效验值进行一个枚举,如下图所示

根据上图,我们可以分析出,这家网站对于cookie的较验只单纯的采用了一组数字,并且数值为常量,不会改变,这样非常容易遭到黑客的枚举。甚至有一些网站做的更简单,直接以用户名,邮箱号或者用户ID等来作为cookie的判断标准。

2. cookie设置存在被盗风险

有很多时候,如果一个用户的cookie被盗取,就算用户怎么修改账号和密码,那段cookie一样有效。详情可以参考《BlackHat(世界黑帽大会)官方APP出现两个逻辑漏洞》。

其原理如下:

国内大部分厂商都不会把这个地方当作安全漏洞来处理,他们认为这个漏洞的利用条件是黑客必须要大批量获取到用户的cookie。虽然事实如此,但是这个也是一个安全隐患。

3.用户的cookie数据加密应严格使用标准加密算法,并注意密钥管理。

有一些厂商为了图方便,没有对用户的cookie做太多的加密工作,仅仅是单纯的做一个静态加密就完事了。案例描述:

cookie中有个access token参数,看到value后面是两个等号,习惯性的给丢去base64解码里面,发现解出来后是我的用户名。因此只要知道一个人的用户名就可以伪造对方的cookie,登陆他人账户。

4.还有多个案例不再做重复说明,大家可以深入研究一下cookie中的逻辑漏洞。但是cookie中的漏洞大多都是属于一个越权漏洞越权漏洞又分为平行越权,垂直越权和交叉越权

**平行越权:**权限类型不变,权限ID改变

**垂直越权:**权限ID不变,权限类型改变

**交叉越权:**即改变ID,也改变权限

如下图所示:

预防思路

1.cookie中设定多个验证,比如自如APP的cookie中,需要sign和ssid两个参数配对,才能返回数据。

2.用户的cookie数据加密应严格使用标准加密算法,并注意密钥管理。

3.用户的cookie的生成过程中最好带入用户的密码,一旦密码改变,cookie的值也会改变。

4.cookie中设定session参数,以防cookie可以长时间生效。

六:找回密码存在设计缺陷

解析

1.auth设计缺陷

经常研究逻辑漏洞的人可能会对以下URL很熟悉

www.xxx.com/resetpassword.php?id=MD5

用户修改密码时,邮箱中会收到一个含有auth的链接,在有效期内用户点击链接,即可进入重置密码环节。而大部分网站对于auth的生成都是采用rand()函数,那么这里就存在一个问题了,Windows环境下rand()最大值为32768所以这个auth的值是可以被枚举的

如下面这个代码可以对auth的值做一个字典。

然后重置某个账号,并且对重置链接内的auth进行枚举

整个漏洞的运作的流程图如下:

2.对response做验证

这个漏洞经常出现在APP中,其主要原因是对于重置密码的的验证是看response数据包,由于之前的案例没有截图,只能画个流程图给大家演示一下。

3.《密码找回逻辑漏洞总结》这篇文章很全面的总结了密码找回漏洞的几个具体思路和分析。

预防思路

1.严格使用标准加密算法,并注意密钥管理。

2.在重置密码的链接上请带入多个安全的验证参数。

七:单纯读取内存值数据来当作用户凭证

解析

实际上这个应该算作一个软件的漏洞,但是因为和web服务器相关,所以也当作WEB的逻辑漏洞来处理了。最能当作例子是《腾讯QQ存在高危漏洞可读取并下载任意用户离线文件(泄漏敏感信息)》这个漏洞,但是我相信这种奇葩的漏洞不一定只有腾讯才有,只是还没人去检测罢了。

产生这个漏洞的主要原因是程序在确定一个用户的登陆凭证的时候主要是依靠内存值中的某个value来进行确认,而不是cookie。但是内存值是可以更改和查看的。其流程图如下:

预防思路

1. 走服务器端的数据最好做cookie验证。

2. 我不反对直接在进程中确定用户的登陆凭证,但是请对进程进行保护,或者对进程中的value做加密处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1042623.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年浙江理工大学MBA项目报考形势如何?

浙江理工大学MBA项目怎么样,值不值得报考?2024年的最新招生政策已经出来,浙江理工大学MBA项目有全日制和非全日制两个MBA方向招生,分别招收19人和52人,总体招生规模不大,这也是浙江理工大学MBA项目近些年的…

锐思WMS和金蝶云星辰V1单据接口对接

锐思WMS和金蝶云星辰V1单据接口对接 来源系统:金蝶云星辰V1 金蝶云星辰基于金蝶云苍穹云原生PaaS平台构建,聚焦小型企业在线经营和数字化管理,提供财务云、税务云、进销存云、零售云、订货商城等SaaS服务,支持企业拓客开源、智能管理、实时决…

批量删除wordpress文章修订版本/自动草稿残留数据(3种方法)及四种方法禁用WordPress文章历史修订/自动保存/自动草稿功能

目录 1、批量删除wordpress文章修订版本/自动草稿残留数据(3种方法) 方法一:SQL命令批量删除 命令: 方法二:利用PHP代码来删除 方法三:利用数据库清理优化插件 WP Clean Up 或 WP Cleaner 批量删除 2…

VEX —— Functions|Math

目录 sign —— 返回给定数的符号标签 abs —— 返回绝对值 avg —— 返回平均值 sum —— 求和 max —— 返回最大值 min —— 返回最小值 rint —— 返回四舍五入后的整数 ceil —— 返回最近的最大整数 floor —— 返回最近的最小整数 frac —— 返回浮点值的小数…

8个值得收藏的免费激光点云数据集

推荐:用 NSDT编辑器 快速搭建可编程3D场景 在 3D 城市点云分析领域,存在多种方法,包括半自动和自动方法。 尽管该领域显示出巨大的潜力,但尚未就最佳检测、分割和分类方法达成共识。 为了鼓励创新,我们收集了 8个免费的…

怎样设置每个月的10号提醒?可每月触发提醒的软件是哪个

在每个月当中总是会有一些需要按时提醒的事情,如每月10号提醒换房贷、每月10号提醒还信用卡、每月10号提醒续交车贷等,当然每月像这样的事情是比较多的,怎样设置每个月的10号提醒自己呢? 可以用来设定定时提醒的工具是比较多的&a…

vue3黑马笔记

一、创建vue3项目 需要node16版本或者以上, npm init vuelatest二、vue3模块 在vue3中所有的创建都用了函数封装,保证了每个实例的独立性 三、setup 1、setup选项 setup组合式api 1、执行时间比beforeCreate还早 2、setup函数,获取不到this…

M1/M2芯片Parallels Desktop 19安装使用教程(超详细)

引言 在Window上VMware最强,在Mac上毫无疑问Parallels Desktop为最强! 今天带来的是最新版Parallels Desktop 19的安装使用教程。 1. 下载安装包 Parallels Desktop 19安装包:https://www.aliyundrive.com/s/ThB8Fs6D3AD Parallels Deskto…

ctfshow web入门(21-28爆破)

web21 抓包 进行了base64加密,解码后发现账号和密码格式是 账号:密码 爆破 位置一开始选错了,应该是不含Basic的 模式选择custom iterator(自定义迭代器) 自定义迭代器可以自定义拼接方式 分别设置三个位置,第一个位置为admin 第二个位置…

HONEYWELL 0574-A-012 0574-A-0131 工控DCS系统模块

工业控制分布式控制系统(DCS)模块是用于自动化和监控工业过程的关键组件。它们具有多种功能和特点,以满足工业自动化的不同需求。以下是工控DCS系统模块的一些常见产品特点: 分布式控制:HONEYWELL 0574-A-012 0574-A-0…

外汇天眼:多平台涉嫌欺诈,各监管机构出手打击!

在当今快速发展的金融领域,随着外汇和加密货币市场的崛起,投资者们享受到了前所未有的多元化投资机会。然而,这个多元化的市场也引来了一些不法分子,威胁着投资者的资金和信任。就在上周,多个平台涉嫌欺诈,…

VBA学习方法3.2.4:VBA中的查找操作

【分享成果,随喜正能量】一旦被欲望的毒箭射中,心会变得麻木,失去觉知,甚至疯狂。如果没有及时清醒,就会如同爱美的飞蛾扑向火焰、贪吃的鱼儿被鱼钩钓起,当发现自己身处险境时,后悔也来不及了。…

nodeJs+jwt实现小程序tonken鉴权

nodeJsjwt实现小程序tonken鉴权 自我记录 config\config.js // 配置文件 module.exports {DBHOST: 127.0.0.1,DBPORT: 27017,DBNAME: test,secret: xxxxx,// 小程序的appSecretAppID: xxxxx,// 小程序的appId }token中间件 middlewares\checkTokenMiddleware.js //导入 jwt…

密码学【第一节:密码学概述】

前言 在区块链的整个体系中大量使用了密码学算法,比如用于 PoW 的哈希算法,用于完整性验证的 Merkle Tree,用于交易签名与验证的数字签名算法,用于隐私保护的零知识证明等等。 可以说密码学是保证区块链安全的基石,而区…

AIRIOT亮相IOTE2023深圳物联网展,产品创新力再获“IOTE金奖”

9月20-22日,IOTE 2023第二十届深圳国际物联网展在深圳国际会展中心(宝安)圆满落幕。作为物联网领域年度最重要的行业盛会之一,本届展会以“IoT构建数字经济底座”为主题,汇聚全球来自工业、物流、基建、智慧城市、智慧…

java项目之旅游景点线路网站(ssm源码+文档)

项目简介 旅游景点线路网站实现了以下功能: 管理员:个人中心、会员管理、景点分类管理、旅游景点管理、旅游线路管理、系统管理。会员:个人中心、旅游景点管理、旅游线路管理、我的收藏管理等操作。 💕💕作者&#x…

OSPF特殊区域NSSA和Totally NSSA详解及配置

本文主要介绍OSPF中的另外一种特殊区域:NSSA以及Totally NSSA区域。 如下图: 当AR1和AR3同时连接到某一外部网络,AR3引入外部路由到OSPF域,AR1所在的Area 1为减小LSDB规模被设置为Stub或Totally Stub区域。这时,由于…

滴答定时器SysTick和os_cpu_a.asm(UCOS的移植)

一、滴答定时器SysTick 滴答定时器是一个 24 位的倒计数定时器,当计到 0 时,将从 RELOAD 寄存器中自动重装载定时器初值,只要不把它在 SysTick 控制以及状态寄存器中的使能位清零,就将永久不息。SysTick 的最大使命,就…

Windows Server 2022 安全功能重大更新

这篇文将介绍 Windows Server 2022 中的一些新增的安全功能,在 Windows Server 2019 的强大基础之上引入了许多创新功能。 文章目录 一、传输:Windows Server 2022 上默认启用 HTTPS 和 TLS 1.3二、安全 DNS:通过基于 HTTPS 的 DNS 实现 DNS…

基于SpringBoot的CSGO赛事管理系统springboot20

大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路…