逻辑漏洞与越权

逻辑漏洞与越权

越权

如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的。

一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对 对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。

水平越权

在同一级别的权限之间跨越边界,例如向其他用户发送私人消息、读取其他用户的文件等,从而绕过某些限制和防御措施

特征:id变,类型不变

pikachu靶场为例

如图lucy只能查看个人信息

image-20231208180118429

url中存在username参数

http://10.9.47.181/pikachu/vul/overpermission/op1/op1_mem.php?username=lucy&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF

将lucy改为别的用户,实际环境中可以选择爆破

改为lili发现可以查看lili的信息

如果出现username

id

uid

u

user类似的,皆可尝试

垂直越权

攻击者通过获取比其本身权限更高的权限,例如管理员权限、根用户权限等,从而执行敏感操作或访问受保护的资源。

特征:id不变,类型变

使用admin新建用户,将cookie换成pikachu的

image-20231208211804983

在登录pikachu的状态时,访问admin创建用户的页面,发现pikachu可以实现创建用户

image-20231208212048523

创建成功

image-20231208212119110

越权漏洞危害

水平越权可能造成敏感信息泄露

垂直越权可能造成服务器权限丢失,普通用户可能会执行一些上传操作

如何挖掘:

可以在url中寻找诸如id,username,user等类似关键字,在登录状态下,可以尝试更改这些数值,看看是否有变化,尝试使用authz等插件功能,将cookie值修改或删除,对比原响应报文和修改后响应报文大小及状态码是否一致

如何防御:

在用户认证的时候使用多方认证,除了cookie认证,还验证关键字段的值

authz

这个插件可以查找是否存在越权漏洞

image-20231208212415773

pikachu水平越权为例

登录lili,然后开启bp代理点击查看个人信息

看到之后关闭

找到这个包,直接发给authz

点击run后获得响应状态码

image-20231208213359580

删掉cookie看看状态码

前后一致则cookie可能无效,可能存在漏洞

逻辑漏洞

常见业务逻辑漏洞

身份验证与授权:在身份验证和授权过程中存在的漏洞可能导致未经授权的用户获取敏感信息或执行不当操作。例如,没有正确实施角色和权限控制,或者在密码重置功能中存在漏洞。

会话管理:会话管理漏洞可能使攻击者能够劫持用户的会话或伪造会话令牌,从而冒充合法用户进行未经授权的操作。

输入验证与过滤:缺乏对用户输入进行恰当验证和过滤可能导致代码注入、跨站脚本攻击(XSS)等安全问题。攻击者可以通过向应用程序输入恶意数据来执行任意代码或篡改网页。

数据保护与隐私:在处理用户敏感数据时,包括存储、传输和访问控制等环节的不安全实践可能导致数据泄露或违反隐私规定。

错误处理与异常管理:不正确处理错误和异常情况可能导致应用程序暴露敏感信息,或者提供有用信息给潜在攻击者。

权限提升:存在权限提升漏洞可能允许攻击者通过利用应用程序逻辑错误,获取超过其正常权限的访问权限。

针对业务逻辑的攻击:此类漏洞是特定于应用程序业务流程的。攻击者可以通过不正确地操作或绕过业务逻辑来实施攻击,例如恶意修改订单金额、非法使用优惠券等。

重放攻击:缺乏请求和响应的合适验证和令牌机制可能导致攻击者能够重放旧的请求,重复执行某些操作。

常见利用场景

滥用优惠券:攻击者可以通过篡改应用程序中的优惠券逻辑来获取大量优惠券或重复使用同一张优惠券,从而获得不当的经济利益。

篡改订单金额:攻击者可以修改应用程序中的订单金额验证逻辑,以支付更低的金额从而获取不当的价格优惠。

超越授权范围:攻击者可能利用应用程序中的逻辑缺陷,绕过角色和权限控制,从而获得比其正常权限更高的访问权限。

绕过支付验证:攻击者可能利用应用程序中的漏洞绕过支付验证流程,使其能够以未经付款的方式获得商品或服务。

假冒身份:攻击者可能通过修改身份验证流程来伪造身份,冒充合法用户进行未经授权的操作。

篡改数据:攻击者可能修改应用程序中的数据验证逻辑,以修改关键数据(如账户余额、库存数量等),从而获得不当的利益。

会话劫持:攻击者可能利用会话管理漏洞劫持合法用户的会话,获得其敏感信息或冒充其进行操作。

数据泄露:通过利用应用程序中的漏洞,攻击者可以获取存储在应用程序中的敏感用户数据,如个人身份信息、支付信息等。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

因为 postman环境变量全局变量设置好兄弟被公司优化了!

postman环境变量、全局变量设置 在公司中,一般会存在开发环境、测试环境、线上环境等,如果需要在不 同的环境下切换做接口测试,显然我们需要把所有接口的域名进行修改,如果接 口测试用例较多,那么修改会非常费力&…

selenium安装使用详解

安装selenium不少人使用pip命令来安装selenium,辛辛苦苦安装完之后,还是不能使用。所以我们可以是直接使用编译器,pycharm直接安装selenium扩展包。 同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动…

跨境电商系统搭建 无货源系统对接API 反向代购系统

跨境电商系统是为国外的客户代购中国商品的系统,系统实现与国内电商API对接,客户可直接在系统中搜索国内电商平台的商品。查看演示网站 一级功能二级功能 标准版 高级版 企业版 企业旗舰版 大客户尊享版 标准版高级版企业版企业旗舰版大客户尊享版 前台主…

HarmonyOS创建JavaScript(类 Web开发模式)项目

上文 HarmonyOS带大家创建自己的第一个Page页面并实现路由跳转(ArkTS)带大家创建了我们项目中第一个自己创建的page 并完成了一个跳转逻辑的编写 上文的开发模式是 ArkTS 的 也被称为 声明式开发范式 还有一种 javaScript的 类Web开发模式 这种方式就类似于我们传统的前端开发模…

在线教育培训系统开发:开展线上教育模式

近几年,在线教育发展的非常快,市面上的教育机构通过网络实现了专属的线上教育模式。 与传统的教育学习模式相比,教育培训小程序系统能够为学生和教师带来灵活、便捷、高效的学习方式,也为教育行业带来了创新。随着互联网的发展&a…

一文搞懂全连接算法和它的作用

如果你是搞AI算法的同学,相信你在很多地方都见过全连接层。 无论是处理图片的卷积神经网络(CNN),还是处理文本的自然语言处理(NLP)网络,在网络的结尾做分类的时候,总是会出现一个全…

C语言 扫雷游戏

代码在一个项目里完成,分成三个.c.h文件(game.c,game.h,main.c) 在Clion软件中通过运行调试。 /大概想法/ 主函数main.c里是大框架(菜单,扫雷棋盘初始化,随机函数生成雷,玩家扫雷) game.h函数声明(除main函数和游戏函数外的一些函数声明) ga…

【学习记录】从0开始的Linux学习之旅——字符型设备驱动及应用

一、概述 Linux操作系统通常是基于Linux内核,并结合GNU项目中的工具和应用程序而成。Linux操作系统支持多用户、多任务和多线程,具有强大的网络功能和良好的兼容性。基于前面应用与驱动的开发学习,本文主要讲述如何在linux系统上把应用与驱动…

寒冬不再寒冷:气膜体育馆如何打造温馨运动天地

取暖季即将来临,随着气温逐渐下降,人们在寒冷的冬季里如何保持运动热情和身体的健康成为了一项挑战。而在这个时候,气膜体育馆成为了运动爱好者们的理想场所,提供如春般温暖舒适的运动环境。那么,让我们一起揭秘气膜体…

2023年8月8日 Go生态洞察:Go 1.21 版本发布探索

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

【Java】深入剖析Java枚举类

目录 定义1)定义2)内部实现3)方法与源码 高级特性1)switch用法2)自定义传值与构造函数3)枚举实现抽象方法4)枚举注解属性5)枚举实现接口 总结 定义 1)定义 枚举类是Jav…

Oracle的错误信息帮助:Error Help

今天看手册时,发现上面有个提示: Error messages are now available in Error Help. 点击 View Error Help,显示如下,其实就是oerr命令的图形化版本: 点击Database Error Message Index,以下界面等同于命令…

蒙商出海考察“走出去”“引进来”,探索践行“一带一路”倡议

蒙商新思路,出海正当时,内蒙古自治区促进民营经济发展项目新加坡、马来西亚交流行圆满结束 2023年11月19日-11月25日,内蒙古自治区促进民营经济项目新加坡、马来西亚交流考察行顺利举行,此次出海考察行是自治区发展改革委、工商联…

VBA_MF系列技术资料1-237

MF系列VBA技术资料 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧,我参考大量的资料,并结合自己的经验总结了这份MF系列VBA技术综合资料,而且开放源码(MF04除外),其中MF01-04属于定…

Qt开发学习笔记01

设置窗口背景图 在 .h 文件中添加引用和方法 #include <QPainter> #include <QPixmap> void paintEvent(QPaintEvent *);.cpp 文件中实现 paintEvent void sur_dev::paintEvent(QPaintEvent *ev) {QPainter painter(this);QPixmap pix;pix.load(":/image/bj01…

什么是接口测试?这篇文章让你明白!

要成为一名合格的测试工程师&#xff0c;接口测试相关的知识和技能&#xff0c;是不可缺少的。如今&#xff0c;我们随便打开一个大公司的JD&#xff0c;上面基本会要求接口测试经验。 那么&#xff0c;接口测试到底要测些什么&#xff1f; 我相信很多小伙伴跟几年前初入测试…

力扣题:公共前缀/单词-11.18

力扣题-11.18 [力扣刷题攻略] Re&#xff1a;从零开始的力扣刷题生活 力扣题1&#xff1a;14.最长公共前缀 解题思想&#xff1a;先找到最小的字符串长度&#xff0c;然后进行字符串的遍历即可 class Solution(object):def longestCommonPrefix(self, strs):""&qu…

cookie总结

cookie和session&#xff1a; 一、Cookie和Session二、使用Cookie保存用户上次的访问时间。三、Cookie常用方法总结乱码问题解决&#xff1a; 一、Cookie和Session 会话&#xff1a;用户从打开浏览器到关闭的整个过程就叫1次会话。 比如有的网站登录过一次&#xff0c;下次再进…

深入了解Java 8日期时间新玩法:DateTimeFormatter与ZoneOffset的使用

推荐语 在这篇文章中&#xff0c;我们将深入探讨Java中的DateTimeFormatter和ZoneOffset类的功能和使用方法。这些类是在Java 8中引入的新的日期时间API的一部分&#xff0c;它们为我们提供了更灵活、更易用的日期和时间处理能力。尽管这些类在Java 8中已经出现&#xff0c;但…

「Verilog学习笔记」同步FIFO

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 timescale 1ns/1ns /**********************************RAM************************************/ module dual_port_RAM #(parameter DEPTH 16,parameter WIDTH 8)(in…