WEB安全之:越权访问
郑重声明:
本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关。倡导维护网络安全人人有责,共同维护网络文明和谐。
越权访问
- 1 越权简介
- 1.1 实验平台
- 1.2 越权漏洞的危害
- 1.3 产生越权漏洞的原因
- 2 水平越权
- 3 垂直越权
- 4 预防越权
越权访问(Broken Access Control,简称BAC)是一种很常见的逻辑安全漏洞。可以理解为服务器端对客户提出的数据操作请求过分信任,一个用户一般只能够对自己本身的信息进行增删改查,然而由于后台开发人员的疏忽,没有在信息进行增删改查时候进行用户判断,忽略了对该用户操作权限的判定,导致攻击账号拥有了其他账户的增删改查功能。
越权分类:水平越权和垂直越权
1 越权简介
1.1 实验平台
zhuifengshaonianhanlu/pikachu: 一个好玩的Web安全-漏洞测试平台 (github.com)
1.2 越权漏洞的危害
- 越权查询
- 越权删除
- 越权修改
- 越权增加
1.3 产生越权漏洞的原因
通过隐藏 URL 实现权限管理
实现控制访问有些程序的管理员的管理页面只有管理员才显示,普通用户看不到,利用 URL 实现访问控制,但 URL 泄露或被恶意攻击者猜到后,这会导致越权攻击。
直接引用对象实现权限管理
这种通过修改一下参数就可以产生水平越权,例如查看用户信息页面 URL 后加上自己的 id 便可查看,当修改为他人的 ID 号时会返回他人的信息,便产生了水平越权。
多阶段功能
多阶段功能是一个功能有多个阶段的实现。例如修改密码,可能第一步是验证用户身份信息,号码验证码类的。当验证成功后,跳到第二步,输入新密码,很多程序会在这一步不再验证用户身份,导致恶意攻击者抓包直接修改参数值,导致可修改任意用户密码。
静态文件
很多网站的下载功能,一些被下载的静态文件,例如 pdf、word、xls 等,可能只有付费用户或会员可下载,但当这些文件的 URL 地址泄露后,导致任何人可下载,如果知道 URL 命名规则,则会便利服务器的收费文档进行批量下载。
平台配置错误
一些程序会通过控件来限制用户的访问,例如后台地址,普通用户不属于管理员组,则不能访问。但当配置平台或配置控件错误时,就会出现越权访问。
2 水平越权
访问与攻击者拥有相同权限的用户资源
1. 在越权模块水平越权登陆 lucy 用户,并点击查看个人信息,此时可以查看到 lucy 用户的相关信息。
http://bac.lab.com/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%AF2. 通过 BurpSuit对浏览器数据包进行抓包,并再次点击查看个人信息。BurpSuit 阻断的信息请求包中,修改以下请求头中的 lucy 为 lili,最后发送修改后的请求包
GET /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 HTTP/1.13. 结果显示的是用户 lili 的信息。即此网站存在水平越权漏洞。
3 垂直越权
由于后台应用没有做权限控制,或仅仅在菜单、按钮上做了权限控制,导致恶意用户只要猜测其他管理页面的 URL 或者敏感的参数信息,就可以访问或控制其他角色拥有的数据或页面,达到权限提升的目的。
1. 在越权模块垂直越权标签下使用 admin 用户登陆,并点击添加用户,复制此时的浏览器 URL 链接
http://bac.lab.com/vul/overpermission/op2/op2_admin_edit.php2. 退出 admin 用户登陆或使用另一个浏览器登陆普通用户(pikachu),登陆成功后,创建新标签打开前面复制的添加用户的 URL 链接。3. 引时浏览器能正常加载添加用户界面,在此页面上尝试创建新用户,创建完成后提交时页面返回到登陆界面,使用 admin 用户登陆,发现之前在普通用户权限下创建的用户被顺利创建。4. 结果,该页面存在垂直越权漏洞。
4 预防越权
- 前后端同时对用户输入信息进行校验,双重验证机制
- 执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
- 特别敏感操作可以让用户再次输入密码或其他的验证信息。
- 可以从用户的加密认证 cookie 中获取当前用户 id,防止攻击者对其修改。或在 session、cookie 中加入不可预测、不可猜解的 user 信息。
- 直接对象引用的加密资源ID,防止攻击者枚举ID,敏感数据特殊化处理
- 永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤
WEB安全之:越权访问相关推荐
- Web 攻防之业务安全:越权访问漏洞 测试.
Web 攻防之业务安全:越权访问漏洞 测试. 由于没有对用户权限进行严格的判断,导致低权限的账号(比如普通用户)可以去完成高权限账号(比如超级管理员)范围内的操作.(比如:通过更换的某个 ID 之类的 ...
- 水平越权访问与垂直越权访问漏洞
目录 前言 越权访问漏洞 水平越权访问漏洞 垂直越权访问漏洞 防范措施 前言 电网机巡智能管控平台是XX省电力巡检智能管控平台,辅助全省无人机巡线作业工作顺利.高效开展.由于今年互联网出现了严重的安全 ...
- WEB安全之越权漏洞
title: WEB安全之越权漏洞 date: 2017-11-4 12:46:16 tags: WEB安全 maven 越权漏洞 categories: WEB安全 背景 越权漏洞是Web应用程序中 ...
- WEB漏洞-逻辑越权之登录脆弱及支付修改
WEB漏洞-逻辑越权之登录脆弱及支付篡改 支付篡改 商品购买流程 常见修改参数 常见修改方法 某商场系统商品支付逻辑测试-数量,订单 购买数量 订单编号 某建站系统商品支付逻辑测试-价格,商品 购买价 ...
- 越权访问(Broken ACCESS Control)说明及解决方案
越权访问(Broken ACCESS Control,简称BAC)是一种很常见的逻辑安全漏洞,是Web应用程序中一种常见的漏洞,由于其存在范围广.危害大,被OWASP列为Web应用十大安全隐患的第二名 ...
- Web安全—逻辑越权漏洞(BAC)
逻辑越权漏洞 漏洞分类:逻辑越权漏洞属于漏洞分类中的服务端漏洞,属于权限控制类漏洞 漏洞简介: 越权漏洞是比较常见的漏洞类型,通常分为两种类型,垂直和水平越权,简单可以理解为,在修改某个用作身份标识的 ...
- Web安全测试之越权测试案例
平行越权 攻击者请求操作(增.删.查.改)某条数据时,Web 应用程序没有判断该数据的所属人,或者在判断数据所属人时直接从用户提交的表单参数中获取(如用户ID),导致攻击者可以自行修改参数(用户ID) ...
- android web 访问数据库,Web下的JDBC访问数据库的基本步骤
Web下的JDBC访问数据库的基本步骤 (2012-06-02 12:09:33) 在Java程序中连接数据库的一般步骤分为一下几部分,我摘录出来,跟大家分享. (1)将数据库的JABC驱动加载到cl ...
- SQL Server 2005中设置Reporting Services发布web报表的匿名访问
第一步:在运行IIS的Web服务器的本地访问http://localhost/reports ,这是Reporting Services的管理站点,在Properties(属性)页面下添加一个只有Br ...
最新文章
- subprocess 的 kill()/terminate() 问题
- Android studio版本还原操作
- Webpack单元测试,e2e测试
- 03-类与对象——课后动手动脑
- Window Server 2008中开启Window Media Player功能
- 详解深度语义匹配模型DSSM和他的兄弟姐妹
- activemq消息丢失_Kafka or RabbitMQ:消息中间件选型深入分析
- 计算机专业英语问卷调查,调查问卷英文版.doc
- 深度学习TF—13.对抗生成网络—GAN
- 团队项目:第二次冲刺站立会议08
- Symbian系统手机软件
- java转码工具应用程序_java转码工具native2ascii.exe的使用方法
- MySQL操作语句(快速办公)
- lighttpd服务器搭建教程
- 【论文阅读】 Object Detection in 20 Years: A Survey
- docker logs日志清除
- 草履虫纳米机器人_草履虫大小的“微型机器人”或许能在人体组织中自由穿梭...
- 游戏蓝牙耳机怎么挑选?超高性价比蓝牙耳机分享
- 【网络协议】互联网协议入门(一)
- CStaticText 静态文本