逆向回溯的审计方式针对特征明显的安全漏洞挖掘是非常有效的,但是同样会有很多弊端,通过逆向回溯的方式只能对通用漏洞进行快速审计,不能全面挖掘更有价值的漏洞,如果在时间允许的情况下,企业中安全运营对自身产品进行代码审计,就需要了解整个应用的业务逻辑,比如越权类漏洞,需要了解应用中权限划分,每一级别用户的功能,这样才能很好的发现并确定哪些操作是非法的。 业务类型的正向审计通常从前端页面开始,因为页面会有系统中大部分功能展示,找出功能所对应的URL就是我们所审计数据流的输入点,某系统修改个人资料处存在平行越权。在客户现场审计大部分情况是没有 代码审计是确保软件安全的重要环节,它涉及到对源代码的深度分析,以识别潜在的安全漏洞和性能问题。本文主要探讨了两种代码审计方法:逆向回溯和业务类型的正向审计,以及这两种方法在实际应用中的优缺点。 逆向回溯审计主要针对明显的安全漏洞,如已知的通用漏洞。这种方式能快速定位问题,但其局限性在于可能无法发现更复杂或特定的漏洞。为了进行全面的代码审计,理解业务逻辑至关重要,特别是对于权限管理相关的漏洞,如越权问题。审计者需要了解不同用户级别的功能权限,以便识别非法操作。 正向审计是从业务流程的角度出发,通常从前端页面开始,因为前端页面通常展示了系统的大部分功能。以某系统中平行越权漏洞为例,审计人员首先找到与功能对应的URL,然后追踪这些数据流的输入点。在缺乏测试环境的情况下,审计者需要直接对源代码进行分析。以SublimeText等代码编辑器为例,审计者可以导入项目代码并逐步审查各个代码包。在本例中,审计者分析了coreServer(模型层)、apiServer(控制器层)、jspxcms(视图层)和cas(单点登录服务)等代码包。 在审计前,理解应用架构是必要的。通过查看web.xml,审计人员可以了解项目的架构,如SpringMVC框架,以及是否存在安全过滤器和身份验证机制。SpringMVC的@RequestMapping注解用于指定控制器处理的URL请求,审计者可以通过搜索URL来找到相关的业务逻辑代码。此外,审计者还应检查用户交互功能,如注册、积分兑换和打招呼功能,以确保有适当的验证和过滤机制,防止XSS攻击和其他安全风险。 例如,Jeebbs注册过程中的邮箱验证逻辑应被仔细审查。审计者需要找到注册URL对应的控制层代码,设置断点,并模拟请求以查看逻辑执行路径。在积分兑换功能中,审计者发现可以通过操纵积分(creditOut)和最小余额(miniBalance)参数来绕过验证,这提示了代码中可能存在安全漏洞。 打招呼功能的XSS防护措施不足,虽然在前端进行了部分限制,但在控制层和数据存储层未进行充分过滤。一般建议在收集用户数据时,特别是在涉及用户交互的场景下,应在控制层或服务层进行Referer和XSS过滤检测,以增强安全性。 代码审计是一个既需要技术深度,又依赖于业务理解的过程。逆向回溯和正向审计相结合,加上对业务逻辑的深入剖析,才能有效地发现和修复代码中的安全漏洞。在实际操作中,审计者需关注数据流、验证机制和用户交互点,以确保代码的安全性和健壮性。
剩余6页未读,继续阅读
- 粉丝: 8
- 资源: 922
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 上市公司上下游供应链数据(2001-2023年)
- TortoiseGit,git小乌龟
- 中位值滤波法,作为一种非线性滤波方法,能够有效去除信号中的噪声,尤其适用于处理脉冲噪声或随机噪声
- StringBuilderExtensions 字符串拼接
- 电子控制板3D模型 电子控制板
- 【源码+数据库】基于SSM框架+mysql实现的甜品饮品店蛋糕店管理系统
- 中国各省环境污染指数(原始数据、结果)(2008-2022年).xlsx
- 免费谷歌浏览器chrome chromedriver 128.0.6613.137 win64 下载
- 卡特彼勒 C32 发动机3D
- 【Unity村庄场景生成工具】Fantasy Village Spawner Pack
评论0