学会利用自动化代码审计工具,是每一个代码审计人员必备的能力。在学习PHP源代码审计的过程中,本人搜集使用了多款自动化工具。本文将简要介绍其中三款比较实用的工具:RIPS、VCG、Fortify SCA。
RIPS是一款开源的,具有较强漏洞挖掘能力的自动化代码审计工具。它使用PHP语言编写的,用于静态审计PHP代码的安全性。
VCG(VisualCodeGrepper),是一款支持C/C++、C#、VB、PHP、Java和PL/SQL的免费代码安全审计工具。它是一款基于字典的检测工具,功能简洁,易于使用。
Fortify SCA(Static Code Analyzer)是由Fortify软件公司(已被惠普收购)开发的一款商业版源代码审计工具。它使用独特的数据流分析技术,跨层跨语言地分析代码的漏洞产生,目前支持所有的主流开发语言。
本文结合一个应用实例的分析,介绍三款工具的使用方法以及特性。
0×02 RIPS
RIPS的主要功能特点如下:
1) 能够检测XSS、SQL注入、文件泄露、本地/远程文件包含、远程命令执行以及更多种类型的漏洞。
2) 有5种级别选项用于显示以及辅助调试扫描结果。
3) 标记存在漏洞的代码行。
4) 对变量高亮显示。
5) 在用户定义函数上悬停光标可以显示函数调用。
6) 在函数定义和调用之间灵活跳转。
7) 详细列出所有用户定义函数(包括定义和调用)、所有程序入口点(用户输入)和所有扫描过文件(包括include的文件)。
8) 以可视化的图表展示源代码文件、包含文件、函数及其调用。
9) 仅用几个鼠标点击就可以使用CURL创建针对检测到漏洞的EXP实例。
10) 详细列出每个漏洞的描述、举例、PoC、补丁和安全函数。
11) 7种不同的语法高亮显示模式。
12) 使用自顶向下或者自底向上的方式追溯显示扫描结果。
13) 一个支持PHP的本地服务器和浏览器即可满足使用需求。
14) 正则搜索功能。
最新版本的RIPS是0.55,下载链接如下:
https://sourceforge.net/projects/rips-scanner/
解压下载的zip文件到Web服务器网站目录下即可。在浏览器中输入Web服务器地址和对应目录,RIPS工具的用户使用界面如下:
最上方是所有功能按钮菜单。
扫描任务结束后,菜单中会出现4个新的按钮,分别用来显示/隐藏4个扫描结果窗口:被扫描文件、用户输入点、扫描状态信息和被扫描函数。
现在以一个简单的实例来说明RIPS的使用方法,下载链接如下:
http://jsdx.down.chinaz.com/201603/webjoker_v2.2.0.zip
该PHP应用程序用来统计某网站的用户访问情况,登录到程序后台可以查看详细访问信息。将下载后的程序解压,在RIPS的“path/file”选项中填入程序解压目录,其它选项保持默认,点击“scan”按钮开始扫描任务。
扫描结束后,点击window菜单的4个按钮可以显示任务的详细情况。
正文部分显示扫描出漏洞的详细情况,点击“hide all”按钮可以查看/隐藏每个文件的详细漏洞结果列表。
让我们来看其中某一个漏洞详情,init.php源代码中存在SQL注入漏洞。
















暂无评论内容