- 安全测试教程
- 安全测试 - 首页
- 安全测试 - 概述
- 安全测试 - 流程
- 安全测试 - 恶意软件
- HTTP协议基础
- HTTPS协议基础
- 编码和解码
- 安全测试 - 密码学
- 安全测试 - 同源策略
- 安全测试 - Cookie
- 黑客攻击Web应用程序
- 安全测试 - 注入攻击
- 测试身份验证漏洞
- 测试跨站脚本攻击
- 不安全的直接对象引用
- 测试安全配置错误
- 测试敏感数据泄露
- 缺少函数级访问控制
- 跨站请求伪造
- 存在漏洞的组件
- 未验证的重定向和转发
- 安全测试 - Ajax安全
- 安全测试 - Web服务
- 安全测试 - 缓冲区溢出
- 安全测试 - 拒绝服务攻击
- 测试恶意文件执行
- 安全测试 - 自动化工具
- 安全测试有用资源
- 安全测试 - 快速指南
- 安全测试 - 有用资源
- 安全测试 - 讨论
缺少函数级访问控制
大多数Web应用程序在向用户提供功能之前会验证函数级别的访问权限。但是,如果服务器上没有执行相同的访问控制检查,则黑客能够在未经授权的情况下渗透到应用程序中。
让我们借助简单的图表了解此缺陷的威胁代理、攻击媒介、安全弱点、技术影响和业务影响。
示例
这是一个缺少函数级访问控制的经典示例:
黑客只需强制目标URL。通常,管理员访问需要身份验证,但是,如果未验证应用程序访问,则未经身份验证的用户可以访问管理员页面。
' Below URL might be accessible to an authenticated user http://website.com/app/standarduserpage ' A NON Admin user is able to access admin page without authorization. http://website.com/app/admin_page
动手操作
步骤1 - 让我们首先查看用户及其访问权限列表,然后以账户管理员身份登录。
步骤2 - 通过尝试各种组合,我们可以发现Larry可以访问资源“账户管理员”。
预防机制
身份验证机制应默认拒绝所有访问,并为每个功能提供对特定角色的访问。
在基于工作流的应用程序中,在允许用户访问任何资源之前,请验证用户的状态。
广告