JAVA 代码审计


java准备

文档注释(java特有)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
格式:(/**回车)

/**
*@author 作者
*@version 源文件版本
*@param 方法参数说明信息
*/

/**
* @author root 作者 E-mail:
* @date 创建时间:2018年7月28日 上午10:46:03
* @version 1.0
* @parameter @param mapping
* @parameter @param form
* @parameter @param request
* @parameter @param response
* @parameter @return
* @parameter @throws Exception
* @since
* @return
*/

java语法

关键字 保留字 标识符

命名规则:

1.包名 小写

2.类名,接口名 单词首字母大写

3.常量 大写

代码审计

源代码审查

检查源代码中的缺点和错误信息,分析并找到这些问题引发的安全漏洞,并提供代码修订措施和建议

代码安全性分析

输入/输出验证

安全功能

程序异常处理

代码审计思路及流程

MVC架构

(Model View Controller 模型-视图-控制器)

  1. Model:是应用程序中用于处理应用程序数据逻辑的部分

  2. View:是应用程序中处理数据显示的部分

  3. Controller:是应用程序中处理用户交互的部分

MVC设计模式

1.png

代码审计方式

通读源代码

优点

  1. 了解程序的架构及业务逻辑

  2. 挖掘更高质的漏洞

  3. 一般适合企业对自身产品的审计

缺点

耗费时间较多程序比较大

敏感关键字回溯参数

优点

可以快速高效的挖出想要漏洞,最常用的方法 判断敏感触发点的位置以及上下文,追踪参数源头

缺点

  1. 覆盖不到逻辑漏洞的挖掘

  2. 不能了解程序的基本框架

代码审计工具

Fortify SCA

Fortify SCA 是一个静态的、白盒的软件源代码安全测试工具。

它通过内置的五大主要分析引擎:数据流、语义、结构、控制流、配置流等对应用软件的源代码进行静态的分析,分析的过程中与它特有的软件安全漏洞规则集进行全面地匹配、查找,从而将源代码中存在的安全漏洞扫描出来,并给予整理报告。

扫描的结果中不但包括详细的安全漏洞的信息,还会有相关的安全知识的说明,以及修复意见的提供

Seay

  1. 傻瓜化的自动审计 。

  2. 支持php代码调试 。

  3. 函数/变量定位 。

  4. 生成审计报告。

  5. 自定义审计规则 。

  6. mysql数据库管理 。

  7. 黑盒敏感信息泄露一键审计 。

  8. 支持正则匹配调试 。

  9. 编辑保存文件 。

  10. POST数据包提交 。

RIPS

RIPS 是一款基于 PHP 开发的针对 PHP 代码安全审计的软件。

其调用了 PHP 内置解析器接口token_get_all,并且使用Parser做了语法分析,实现了跨文件的变量及函数追踪,扫描结果中非常直观地展示了漏洞形成及变量传递过程,误报率非常低。

RIPS 能够发现 SQL 注入、XSS 跨站、文件包含、代码执行、文件读取等多种漏洞,支持多种样式的代码高亮。它还支持自动生成漏洞利用。

---------------The End---------------
0%