WEB通用漏洞水平垂直越权详解业务逻辑访问控制脆弱验证

news2024/10/7 8:27:11

目录

一、知识点概述

<分类>

<原理简述>

二、水平越权示例——检测数据比对弱

<越权演示>

<如何防护>

三、垂直越权示例——权限操作无验证

<越权演示>

<漏洞成因>

四、访问控制示例——代码未引用验证

<越权演示>

五、脆弱机制示例——Cookie脆弱验证

<越权演示>

<真实案例演示>

六、空口令机制示例——Redis&Weblogic 弱机制

<演示一>

<演示二>


一、知识点概述

<分类>

  1. 水平越权——同级用户权限共享。
  2. 垂直越权——低高用户权限共享。
  3. 访问控制——验证丢失&取消验证。
  4. 脆弱验证——Cookie&Token&Jwt。 

<原理简述>

    1. 逻辑越权原理:
  • 水平越权:用户信息获取时未对用户与 ID 比较判断直接查询等。
  • 垂直越权:数据库中用户类型编号接受篡改或高权限操作未验证等。
    2. 访问控制原理:
  • 验证丢失:未包含引用验证代码文件等。
  • 取消验证:支持空口令,匿名,白名单等。
    3. 脆弱验证原理:
  • Cookie&Token&Jwt:不安全的验证逻辑等。

二、水平越权示例——检测数据比对弱

<越权演示>

1.打开要进行测试的网站的数据库,可以看到数据库内存储了几个用户的账户信息。

2.打开要测试的网站。

3. 登陆一个用户。

4. 打开网站的修改个人信息的页面,点击修改后进行抓包。

5.抓到的数据包如下图所示。 

6.前面查看数据库的时候可以看到有个账户名为xiaodi002的账户。

7.我们将数据包内的账户名修改为xiaodi002,同时将下面的id值更改为2,因为数据库内对应的xiaodi002的账户的id值为2,同时将其它信息也进行修改。

8. 放包后网页内显示“信息编辑成功”。

9. 此时再次查看数据库可以发现刚刚修改的信息被添加到了账户名为xiaodi002的账户上。

<如何防护>

1.对比当前用户,当前登陆的用户是谁,在修改信息的时候先获取到当前用户的用户名,在进行修改的时候,就在此基础上进行修改,及时用户将账户名改成其它的,依然无效。

2.查看源代码,可以看到其对nickname进行了接收,它不是固定死的,用户发送的是谁,它带入的就是谁,这就导致其可以对其它用户进行操作。

3.如果在用户进行登陆的时候,就将用户的用户名给获取到然后固定死了,就不会发生上面的事情了。

三、垂直越权示例——权限操作无验证

<越权演示>

1.打开要进行测试的网站。

2.点击撰写文章后随便写入内容然后发布。

 3. 可以看到文章已经写入了。

 4. 来到网站的后台。

5. 我们选中回收按钮之后复制它的链接。

  

6.换一个没有登陆过的浏览器先尝试访问它的后台。

7.上边讲到的那个回收选项只存在于后台内,我们在这个新的浏览器里并没有进行登陆,此状态下来尝试执行刚刚复制出来的回收文章的链接。

8.当我们访问刚刚复制出来的链接后,网页没有发生变化,依然在登陆界面。

9.但是我们来到后台,可以看到刚刚发布的文章已经消失了。 

<漏洞成因>

1.网站对用户发送的数据包没有进行验证,没有验证触发当前操作的用户权限。

2.有验证,但是逻辑顺序搞错了。

  • 先验证,再操作——正确。
  • 先操作,再验证——错误。

四、访问控制示例——代码未引用验证

<越权演示>

1.先打开网站登陆,验证可以正常登陆。

2.退出登陆。

3.查看网站源代码,可以看到检查登陆的原码。

4. 它检查登陆是要通过下面的代码来跳转到检查登陆的代码里的,我们再这里将其注释掉。

5.此时再回到网站,此时再访问index的时候就可以直接跳转到网站登陆后的页面了。

6.查看网站源代码可以发现很多代码内都调用了验证有没有登陆的那串代码的文件。

7.这就是我们在平时访问网站的时候,有些网页在我们登陆之前就可以访问到,有些网站必须我们登陆后才能进行访问的根本原因。

8.如果有一个文件没有包含那个文件,那么那个文件就可以进行未授权访问。

9.当我们进行漏洞挖掘的时候,就可以查看敏感页面(比如后台页面)有没有引用验证代码,如果没有引用到,那么就存在越权漏洞。

五、脆弱机制示例——Cookie脆弱验证

<越权演示>

1.先打开网站登陆界面。

2. 点击登陆后抓取数据包。

3.给cookie的user随便输入一个值后提交数据包。

 4.可以看到成功进入到了登陆后的页面。

5. 这就是虽然存在验证,但是验证太单一了。

<真实案例演示>

1.我们使用fofa查找对应的cms。

2.打开一个对用的网站进行测试。

3.来到登陆页面点击登陆后。

4.点击登陆后进行抓包,更改成下面的样式。

5.放包后可以看到成功进入到了后台页面。

六、空口令机制示例——Redis&Weblogic 弱机制

<演示一>

1.来到下面的靶场来查询对应的靶场。

2. 环境介绍。

3.将环境启动。

 

4. 使用客户端填写对应的ip以及端口来进行访问,发现成功访问进去了。

<演示二>

1.环境介绍。

2.将环境启动后来到后台登陆页面。

3.在url栏内输入下面的地址后即可进行未授权访问。

4.如图所示成功进入了后台。

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

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

相关文章

如何才能写出一个符合预期的正则?

如何才能写出一个符合预期的正则&#xff1f; 正则表达式入门示例讲解1、java里正则表达式replaceAll连续的字符正则测试题主问题讲解 2、开发者遇到金额的校验正则描述正则测试 3、java正则表达式匹配字符串正则描述正则测试 4、关于#正则表达式#的问题&#xff0c;如何解决&a…

0基础自学软件测试 用这个方法 99%的人都成功了

对于大多数0基础的小白而言&#xff0c;刚开始学软件测试&#xff0c;肯定会遇到各种各样的难题&#xff0c;有时候问题多了&#xff0c;扛不住了&#xff0c;导致最后无法坚持&#xff0c;或者学的很杂&#xff0c;学而不精。 那么有哪些比较有效的方法和技巧&#xff0c;可以…

系统分析师之数据库系统(七)

目录 一、数据库概念 1.1 数据库管理系统DBMS 1.2 数据库系统DBS 二、数据库设计 2.1 数据库设计过程 2.2 E-R模型 2.3 关系代数 2.4 规范化理论 2.4.1 价值与用途 2.4.2 函数依赖 2.4.3 键 2.4.4 范式 2.4.5 无损分解 三、并发控制 3.1 基本概念 3.2 问题示例…

SCA技术进阶系列(二):代码同源检测技术在供应链安全治理中的应用

一、直击痛点&#xff1a;为什么需要同源检测 随着“数字中国”建设的不断提速&#xff0c;企业在数字化转型的创新实践中不断加大对开源技术的应用&#xff0c;引入开源组件完成应用需求开发已经成为了大多数研发工程师开发软件代码的主要手段。随之而来的一个痛点问题是&…

开启数字化之旅:VR全景视频带你进入真实而神奇的世界

引言&#xff1a;随着科技的不断发展&#xff0c;虚拟现实技术正在成为越来越多人所追捧和体验的技术。而VR全景视频作为虚拟现实技术的一种重要应用&#xff0c;也得到了越来越多人的关注。那么&#xff0c;VR全景视频到底是什么&#xff1f;它的优势和特点是什么&#xff1f;…

OpenGL入门教程之 变化颜色的三角形

一、 知识点 &#xff08;1&#xff09;着色器 着色器(Shader)是运行在GPU上的小程序。这些小程序为图形渲染管线的某个特定部分而运行。从基本意义上来说&#xff0c;着色器只是一种把输入转化为输出的程序。着色器也是一种非常独立的程序&#xff0c;因为它们之间不能相互通…

153. 寻找旋转排序数组中的最小值

已知一个长度为 n 的数组&#xff0c;预先按照升序排列&#xff0c;经由 1 到 n 次 旋转 后&#xff0c;得到输入数组。例如&#xff0c;原数组 nums [0,1,2,4,5,6,7] 在变化后可能得到&#xff1a; 若旋转 4 次&#xff0c;则可以得到 [4,5,6,7,0,1,2] 若旋转 7 次&#xff0…

【刷题】搜索——BFS:字串变换【双向广搜模板】

双向广搜是BFS的一种优化方式&#xff0c;就是起点和终点同时往中间搜索。 假设每搜一步&#xff0c;都会有6种新的状态进入队列&#xff0c;搜索10步才能得到答案&#xff0c;总状态数是 1 6 6 2 6 3 . . . 6 9 166^26^3...6^9 166263...69。 但是假如已知终点的状态&am…

Crash分析gpu非法访问地址问题

Crash分析gpu非法访问地址问题 1. 问题描述 在我司产品monkey老化过程中&#xff0c;极低概率出现gpu驱动访问非法地址导致kernel panic问题&#xff0c;在kernel panic后&#xff0c;主动触发ramdump机制&#xff0c;抓到相关的ramdump文件&#xff0c;利用crash工具进行离线…

ggrcs包2.9版本发布----增加了绘制单独rcs曲线(限制立方样条)的singlercs函数

目前本人写的ggrcs包新的2.8版本已经在CRAN上线&#xff0c;目前支持逻辑回归&#xff08;logistic回归&#xff09;、cox回归和多元线性回归。增加了绘制单独rcs曲线&#xff08;限制立方样条&#xff09;的singlercs函数。 需要的可以使用代码安装 install.packages("…

UE4/5多人游戏详解(五、创建多人游戏插件)

目录 创建插件&#xff1a; 功能制作&#xff1a; 基础构造&#xff1a; 代码&#xff1a; 准备&#xff1a; 代码&#xff1a; 之前4个内容&#xff0c;我简单的讲解了一个项目中如何加入多人会话。 现在我们做一个插件&#xff0c;这样就不需要每一次创建项目的时候就…

CT前瞻(二):Vant4实战之Card卡片与Cell单元格

文章目录 &#x1f4cb;前言&#x1f3af;关于 Card卡片 和 Cell单元格 组件&#x1f9e9;Cell单元格&#x1f9e9;Card卡片 &#x1f3af;实战代码&#x1f4dd;最后 &#x1f4cb;前言 最近在项目开发和学习的过程中&#xff0c;涉及到了Vant UI&#xff08;简称Vant&#x…

气传导耳机和骨传导耳机的区别是啥?气传导耳机有哪些优缺点?

本文主要讲解一下气传导耳机和骨传导耳机的区别、气传导耳机的优缺点&#xff0c;并推荐一些目前主流的气传导耳机款式&#xff0c;大家可以根据自身需求&#xff0c;选择自己感兴趣的部分观看。 气传导耳机和骨传导耳机不同点&#xff1a; 气传导耳机和骨传导耳机最大且最根…

HTML+CSS+JS 学习笔记(二)———CSS

&#x1f331;博客主页&#xff1a;大寄一场. &#x1f331;系列专栏&#xff1a;前端 &#x1f331;往期回顾&#xff1a;HTMLCSSJS 学习笔记&#xff08;一&#xff09;———HTML(上) HTMLCSSJS 学习笔记&#xff08;一&#xff09;———HTML(中) HTMLCSSJS 学习笔记&#…

数字信号预处理——平滑和去噪

数字信号预处理 对信号进行去噪、平滑和去趋势处理&#xff0c;为进一步分析做好准备。从数据中去除噪声、离群值和乱真内容。增强信号以对其可视化并发现模式。更改信号的采样率&#xff0c;或者使不规则采样信号或带缺失数据信号的采样率趋于恒定。为仿真和算法测试生成脉冲…

看完这篇文章你就彻底懂啦{保姆级讲解}-----(LeetCode刷题59螺旋矩阵II) 2023.4.20

目录 前言算法题&#xff08;LeetCode刷题59螺旋矩阵II&#xff09;—&#xff08;保姆级别讲解&#xff09;分析题目&#xff1a;算法思想&#xff08;重要&#xff09;螺旋矩阵II代码&#xff1a; 结束语 前言 本文章一部分内容参考于《代码随想录》----如有侵权请联系作者删…

英码科技深元ai工作站在化工园区应用,保障安全生产

当今&#xff0c;随着工业化进程的不断推进&#xff0c;化工产业作为重要的基础产业之一&#xff0c;为社会经济发展做出了巨大贡献。然而&#xff0c;随着化工园区规模的不断扩大&#xff0c;化工园区内的安全问题和环境问题也日益突出。因此&#xff0c;如何通过科技手段提升…

网络安全文章汇总导航(持续更新)

网络安全文章汇总导航&#xff08;持续更新&#xff09; 1. 介绍1.1. 初衷1.2. 更新时段1.3.最近更新时间及内容 2. 文章列表2.1. 基础篇2.2. 工具篇2.3. 靶场安装篇2.4. 权限提升篇2.5. 漏洞复现篇2.6. 加固与排查篇2.7. APP渗透篇2.8. 其它基础篇 1. 介绍 本章主要将博客中的…

ROS学习第十二节——话题通信控制小乌龟

1.基操一下 首先打开小乌龟程序和键盘控制程序 rosrun turtlesim turtlesim_node rosrun turtlesim turtle_teleop_key 查看话题列表 rostopic list 打开计算图查看具体是那个话题在起作用 rqt_graph 从上图可以看到两个节点之间的话题是 /turtle1/cmd_vel 使用以下命令获…

从零学习SDK(7)如何打包SDK

打包SDK的目的是为了方便将SDK提供给其他开发者或用户使用&#xff0c;以及保证SDK的兼容性和安全性。打包SDK可以有以下几个好处&#xff1a; 减少依赖&#xff1a;打包SDK可以将SDK所需的库、资源、文档等打包成一个文件或者一个目录&#xff0c;这样就不需要用户再去安装或…