文章目录
什么是越权
越权(Unauthorized Access)是指用户在系统中执行了超出其权限范围的操作,访问了本不应访问的数据或功能。
这种行为通常是由于系统在权限验证环节存在缺陷,导致攻击者能够利用漏洞获取未授权的资源或执行未授权的操作。
越权漏洞是网络安全领域中常见且危害较大的漏洞类型,可能导致敏感信息泄露、数据篡改甚至系统被完全控制。
越权漏洞形成的原因
越权漏洞的形成主要源于以下几个方面:
-
权限验证不足:系统在处理用户请求时,未对用户的身份和权限进行充分验证,导致用户可以访问或操作超出其权限范围的资源。
-
前端控制权限:权限控制逻辑仅在客户端实现(如隐藏按钮或链接),而未在服务器端进行严格校验,攻击者可通过修改请求绕过限制。
-
参数可控性:系统通过用户可控的参数(如URL参数、表单数据、Cookie等)来判断访问对象,未对参数的合法性进行检查。
-
业务逻辑缺陷:开发人员在设计业务流程时,未充分考虑权限边界,导致攻击者通过逻辑漏洞实现越权。
-
会话管理不当:服务器未正确使用会话机制(如Session)来绑定用户身份和权限,导致权限混淆或被绕过。
越权常见分类
越权漏洞通常分为以下两大类:
-
水平越权:同一权限级别的用户之间,访问了彼此的数据或功能。
-
垂直越权:低权限用户访问或执行了高权限用户的功能或数据。
此外,根据具体场景,还可能涉及其他细分类别,如目录越权、SQL跨库查询等。
漏洞产生条件
越权漏洞的产生通常需要满足以下条件之一或组合:
-
用户输入未验证:系统直接信任用户提交的参数(如ID、用户名等),未校验其合法性。
-
权限检查缺失:服务器端未对操作者的权限进行二次验证。
-
会话状态未绑定:未通过Session或其他机制将操作与当前用户绑定。
-
访问控制过于宽松:系统未对敏感资源设置严格的访问控制策略。
-
逻辑设计缺陷:业务流程中存在可被绕过的环节。
越权细分类
水平越权:
我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~
水平越权解释:
-
A用户和B用户属于同一级别用户
- 但各自不能操作对方个人信息。
-
A用户如果越权操作B用户的个人信息的情况称之为平行越权操作。
- 在网址上修改其它用户的用户名 同权限用户。
示例:
- 在当前已登录的Lucy的个人信息页面
- URL为:
http://example.com/user?username=lucy
- URL为:
- 如果将URL中的
username
改为lili
- 即:
http://example.com/user?username=lili
成功访问到Lili的信息,则说明存在水平越权漏洞。
- 即:
垂直越权解释:
-
A用户权限高于B用户
- B用户越权操作A用户的权限的情况称为垂直越权
-
只要用户执行了高于上一级用户的权限
- 则就是垂直越权。
-
普通用户执行了超级管理员的权限
- 这就叫垂直越权。
-
也就是我已a用户登录进去 但是a用户知道删除的网址是多说,然后a用户就执行了这个网址,用户被删除了,则说明a用户执行了超级管理员的权限,我们称之为垂直越权。
用普通用户的身份进行超级管理员的操作,如果操作成功,即可说明后台存在垂直越权的漏洞。
通过burp抓包拦截超级管理员登陆的数据包
然后将其登录态的cookie
- 【指某些网站为了辨别用户身份、进行 Session 跟踪而存储在用户本地终端上的数据,而这些数据通常会经过加密处理】
代替普通用户登录态中的数据包中的cookie,可以操作成功
即进行了一次垂直越权查看后台源码可发现
源码中只有判断超级管理员是否登录的代码
应该添加一段判断当前用户登陆的权限
判断用户级别是否为超级管理员的代码。
垂直越权示例:
http://wooyun.2xss.cc/bug_detail.php?wybug_id=wooyun-2015-0122573
-
用户的权限控制是有依据的 cookie sessionid 存放着响应依据
-
替换session id 普通用户和超级管理员用户的sessionid
-
Uid sid
解释:
-
普通用户 管理员账户
-
登录后分辨常看用户登录后响应的数据有什么区别来搞越权漏洞。
修复建议
- 越权访问漏洞产生的主要原因是因为没有对用户的身份做判断和控制
- 防护这种漏洞是
- 可以使用session【当访问服务器某个网页的时候,会在服务器端的内存里开辟一块内存,这块内存就叫做`SESSION】来控制
-
例如
-
用户在登录成功后, 将用户名写入session中
-
当用户查看个人信息时,通过session中取出username
-
而不是从GET或者POST中取到username
-
那么此时的username就不会被篡改了
-
越权漏洞易发生的点
1.基础参数
-
通过修改一下参数就可以产生水平越权
-
例如查看用户信息页面 URL 后加上自己的 id 便可查看
-
当修改为他人的id号时会返回他人的信息
-
再比如cookie中的参数就作为用户的凭据,修改这个凭据便可以其他用户身份通过验证。
-
2.多阶段验证
-
多阶段功能是一个功能有多个阶段的实现。
-
例如修改密码,可能第一步是验证用户身份信息,号码验证码类的。
-
当验证成功后,跳到第二步,输入新密码
-
很多程序会在这一步不再验证用户身份
-
导致恶意攻击者抓包直接修改参数值
-
导致可修改任意用户密码
-
3.基于参数的访问控制
-
有的程序会在参数里面进行权限认证。
-
如:www.xxx.com/uid=test&admin=0
-
把0改为1就有了admin权限。
-
4.链接隐藏
-
有的程序会把页面独立,让爬虫爬取不到
-
但是可以使用扫目录的方式扫到url,如果此时页面不做权限认证【漏扫描工具 考研字典的强大】
-
就可直接访问到功能点,或者只是前端跳转
-
可以使用burp抓回包,然后删除js代码绕过
-
5.其他位置
-
越权可能存在的地方:增、删、改、查、详情、导出等功能
-
当有这些功能的时候提高重视
-
在url、post data、cookie处寻找是否有鉴权参数
-
最关键的点就是定位鉴权参数,然后替换为其他账户鉴权参数的方法来发现越权漏洞。
-
案例
-
通过修改GET传参来越权: 案例:
https://cn-sec.com/archives/2572.html
解释:攻击者通过修改URL中的参数,访问其他用户数据。 -
修改POST传参进行越权: 案例:
https://cn-sec.com/archives/1682.html
解释:通过篡改POST请求中的字段,实现权限提升。 -
修改Cookie传参进行越权: 案例:
https://cn-sec.com/archives/6421.html
解释:攻击者伪造Cookie中的身份信息,冒充其他用户。 -
抓取传参可以在浏览器、APP、应用程序exe: 案例:
https://cn-sec.com/archives/5930.html
解释:通过抓包工具捕获请求,修改参数实现越权。 -
未授权访问: 案例:
https://cn-sec.com/archives/5930.html
解释:直接输入后台URL(如/admin
),无需登录即可访问。 -
业务逻辑绕过: 案例:
https://cn-sec.com/archives/17524.html
解释:利用业务流程漏洞跳过权限验证。 -
目录越权: 解释:通过访问未授权的目录(如
../config
),获取敏感文件。 -
SQL跨库查询: 解释:利用SQL注入漏洞,跨数据库查询其他用户数据。
目录越权:
User 权限没做限制 所以可以访问任意文件,那么配置这个用户访问特定的目录那么就可以设定好,防止目录越权。
运维人员使用了同一个web服务应用程序(很多安全人员管这个叫做中间件)用户而造成目录越权
同时中间件用户权限过高也可以造成目录越权。
这个和我们刚才说的旁注产生的原因一样。
很多运维人员都喜欢用root用户来搭建web服务
这种情况下如果别人拉取到webshell
那么就很容易控制了你的服务器。
SQL跨库查询:
也就是跨库查询权限漏洞。
也就是mysql数据库权限分配不当
对用户所能访问的目录进行限制如果没有限制或者限制不当就会出现目录越权的问题。
其实主要也是因为运维人员或者dba的安全意识不够导致的
说白了就是权限分配不当的问题导致的。
跨库查询是指由于权限设置不严格,导致普通帐号被授予过高的权限,从而使得其可以对其他的数据库进行操作。
未授权访问漏洞汇总预览
1 、FTP 未授权访问(21)
2 、LDAP 未授权访问(389)
3 、Rsync 未授权访问(873)
4 、ZooKeeper 未授权访问(2181)
5 、Docker 未授权访问(2375)
6 、Docker Registry未授权(5000)
7 、Kibana 未授权访问(5601)
8 、VNC 未授权访问(5900、5901)
9 、CouchDB 未授权访问(5984) 15
10 、Apache Spark 未授权访问(6066、8081、8082)
11 、Redis 未授权访问(6379)
12 、Weblogic 未授权访问(7001)
13 、HadoopYARN 未授权访问(8088)
14 、JBoss 未授权访问(8080)
15 、Jenkins 未授权访问(8080)
16 、Kubernetes Api Server 未授权(8080、10250)
17 、Active MQ 未授权访问(8161)
18 、Jupyter Notebook 未授权访问(8888)
19 、Elasticsearch 未授权访问(9200、9300)
20 、Zabbix 未授权访问(10051)
21 、Memcached 未授权访问(11211)
22 、RabbitMQ 未授权访问(15672、15692、25672)
23 、MongoDB 未授权访问(27017)
24 、NFS 未授权访问(2049、20048)
25 、Dubbo 未授权访问(28096)
26 、Druid 未授权访问
27 、Solr 未授权访问
28 、SpringBoot Actuator 未授权访问
29 、SwaggerUI未授权访问漏洞
30 、Harbor未授权添加管理员漏洞
31 、Windows ipc共享未授权访问漏洞
32 、宝塔phpmyadmin未授权访问
33 、WordPress未授权访问漏洞
34 、Atlassian Crowd 未授权访问
35 、PHP-FPM Fastcgi未授权访问漏洞
36 、uWSGI未授权访问漏洞
37 、Kong未授权访问漏洞(CVE-2020-11710)
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取
👉1.成长路线图&学习规划👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
👉2.网安入门到进阶视频教程👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程扫描领取哈)
👉3.SRC&黑客文档👈
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦! (全套教程扫描领取哈)
👉4.护网行动资料👈
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
👉5.黑客必读书单👈
👉6.网络安全岗面试题合集👈
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~