代码审计——未授权访问详解

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 代码审计——未授权访问详解

01 漏洞描述


未授权访问漏洞,是在攻击者没有获取到登录权限或未授权的情况下,或者不需要输入密码,即可通过直接输入网站控制台主页面地址,或者不允许查看的链接便可进行访问,同时进行操作。

简单来说,就是用户不经过身份认证即可访问敏感资源,可能造成敏感信息泄露,或者其他恶意操作。

image.png


02 审计要点



未授权访问的根本原因是系统鉴权机制不完善,用户直接输入URL便可对原本不允许查看的内容进行访问。

当判断代码中是否存在未授权访问漏洞时,可从以下2点进行判断:

1、是否使用了身份认证的框架?如spring security安全框架。

2、是否对用户身份进行认证?如cookie或者token认证。

03 漏洞特征

应用没有使用专用的身份认证框架,同时在敏感功能业务访问前,没有对用户的session进行校验。

有时候一些管理页面是禁止普通用户访问的,有时开发者会忘记对这些文件进行权限验证,导致漏洞发生。

该缺陷还往往产生在如下场景:

1、在UI中泄露了敏感功能,客户端仅通过JavaScript脚本作显示控制;

2、服务端缺失访问敏感功能的的身份鉴别机制;

3、服务端的访问敏感功能的身份鉴别机制存在缺陷,身份鉴别信息可由攻击者伪造;

4、敏感的文件名/方法名容易被猜测。

04 漏洞案例

image.png



在代码审计的过程中,可收集出现的接口以及系统功能地址,在测试环境下利用http请求工具批量对接口及url进行未授权访问测试。

漏洞验证示例如下:


image.png


05 修复方案


1、在打开管理页面URL时,首先判断当前用户是否拥有该页面的权限,如果没有权限,就判定为“权限提升”攻击,同时记录安全日志。

2、设计代码时建议使用成熟的权限框架处理权限问题,比如spring security。

目录
相关文章
|
7月前
|
数据采集 安全 数据安全/隐私保护
渗透攻击实例-未授权访问/权限绕过
渗透攻击实例-未授权访问/权限绕过
|
8月前
|
Web App开发 JSON 安全
【漏洞复现】Yapi接口管理平台远程代码执行漏洞
Yapi接口管理平台远程代码执行漏洞,攻击者可通过特定Payload对目标实施恶意攻击,获取敏感信息,操控服务器指令。
146 1
|
11月前
|
XML 编解码 安全
代码审计——SSRF详解
代码审计——SSRF详解
151 0
|
12月前
|
SQL 运维 安全
【WEB安全】详解信息泄漏漏洞
1.1. 漏洞介绍 由于网站管理员运维不当,可能会将备份文件、数据库配置文件等敏感文件存放在WEB目录下公开访问,攻击者可以轻松地访问这些敏感文件,从而了解系统的配置细节、密码信息、数据库凭据等重要数据,扩大的攻击面。 这种泄漏敏感信息的情况就属于信息泄漏漏洞。 1.2. 漏洞发现 主要以目录扫描为主,可参考 目录扫描 (https //blog.gm7.org/个人知识库/0
385 0
|
12月前
|
SQL 安全 程序员
记一次未授权漏洞挖掘
记一次未授权漏洞挖掘
139 0
|
SQL 开发框架 安全
ThinkPHP5 SQL注入漏洞 && 敏感信息泄露
ThinkPHP5 SQL注入漏洞 && 敏感信息泄露
511 0
ThinkPHP5 SQL注入漏洞 && 敏感信息泄露
|
数据采集 安全 前端开发
|
SQL 自然语言处理 监控
网站代码漏洞审计 白盒渗透测试详情
网站白盒渗透测试中要测试的内容非常多,总算赶到了代码审计这一点。期待看过的朋友有一定的感悟,大伙儿通常把代码审计分成黑盒和白盒,大伙儿通常相结合在一起用。平常大家在白盒审计上有多种多样方式,比如一些常见的危险代码函数或执行函数,以及上传漏洞绕过,命令执行反序列化等这些漏洞,总体来讲我们可以梳理为:1.细读全篇 2.追踪.
188 0
网站代码漏洞审计 白盒渗透测试详情
|
SQL 缓存 安全
phpcms2008网站漏洞修复 远程代码写入缓存漏洞利用
SINE安全公司在对phpcms2008网站代码进行安全检测与审计的时候发现该phpcms存在远程代码写入缓存文件的一个SQL注入漏洞,该phpcms漏洞危害较大,可以导致网站被黑,以及服务器遭受黑客的攻击,关于这次发现的phpcms漏洞细节以及如何利用提权我们来详细剖析。
134 0
phpcms2008网站漏洞修复 远程代码写入缓存漏洞利用