当前位置:   article > 正文

菜鸟的源代码审计之路_什么是源代码审计

什么是源代码审计

一、前言

源代码审计,顾名思义就是检查源代码中是否存在安全隐患,使用自动化工具以及人工的方式对源代码进行分析检查,发现源代码的这些缺陷引起的漏洞,并提供修复措施和建议。

在开始之前,我们先了解一下MVC设计模式的基本概念:

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。其中:

Model(模型)一般用于放置对数据库进行存取等操作的代码

View(视图)一般用于放置静态资源如前端代码、css等

Controller(控制器)用于存放接受用户输入和业务逻辑处理的代码。

我们以Java的SpringMVC来举例,SpringBoot项目的三层架构如下:

Model层:包含service层和dao层

Service层用来实现业务逻辑

Dao层的作用是封装对数据库的访问:增删改查,不涉及业务逻辑

Controller层:负责业务模块的流程控制

View层:html、css、js等等

过程如下:

 

有了这些知识之后,我们就可以大致定位到文件位置了。

二、代码审计的方法

下面我们来介绍三种常用的代码审计的方式:

全文通读

敏感函数溯源

功能点定向审计

说明

从系统入口开始审计,分析所有数据流走向。

搜索敏感函数,逆向追踪参数的传递过程,分析参数是否可控。

定位敏感功能点,分析其是否存在安全缺陷。

优点

能够覆盖所有请求入口,避免了遗漏代码的情况。

高效。

高效

缺点

需要足够的时间与精力

对系统整体结构了解不够深入,无法覆盖逻辑漏洞。

容易出现审计遗漏的情况。

说明:上述三种方

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/257789
推荐阅读
相关标签
  

闽ICP备14008679号