使用Seay进行代码安全审计

Seay介绍

Seay介绍

Seay其实是一款用 C语言所开发的一款对 PHP相关代码的安全审计系统,它是运 行在 Windows操作系统上的。这种软件能够发现 SQL 注入漏洞、代码执行漏洞、命令执行错误、文件内容包括、文件的上传、绕过防护、拒绝文件服务、XSS的跨站漏洞、信息泄露问题、任意URL 跳 转等漏洞。 打开以后主界面如图 1.1 所示。

使用Seay进行代码安全审计_第1张图片

源代码审计系统主要特点:

  1. 可以一键启动白盒审计
  2. 对代码进行必要的调试
  3. 对正则进行编码

Seay 支持的漏洞有以下几种

  1. 文件的函数中如果存在相关变量,就有可能存在漏洞
  2. pr.eg_repl.ace 的/f,如果有可控的变量,就可能存在漏洞
  3. phpi.nfo()的相关函数,就会存在敏感信息泄露的漏洞
  4. call_user_func 的相关函数的参数如果包含变量,就可能存在代码执行相关漏洞

Seay安装

下载Seay安装包

下载地址

请添加图片描述
解压后如下:
请添加图片描述

项目根目录如下图所示:
使用Seay进行代码安全审计_第2张图片
使用Seay进行代码安全审计_第3张图片
点击程序启动文件,程序正常启动如图所示。
使用Seay进行代码安全审计_第4张图片

Seay使用

基本使用方法

使用seay系统的方法如下:
(1)在安装后就打开程序,然后新建一个项目。
(2)选择需要审查的文件夹中的相关代码,然后打开后如图 3.1 。
(3)然后查看系统界面左侧列表列出来的项目结构。
(4)双击文件可以打开编辑器对其进行编辑,之后对文件进行字符和函数的查找。使用Seay进行代码安全审计_第5张图片
(5)点击关闭。如果代码已经审计完成或者想审计其他人的相关代码,就点击关闭就可以。
(6)菜单栏上的三个按钮为自动审计按钮,它可以自动对代码进行审计,自动审计,会对所有相关的危险以及隐藏的漏洞代码都会查找出来,使用者可以点击后等待 ,报告马上就可以自动出来,方便使用者。

使用Seay进行代码安全审计_第6张图片
(7)代码调试功能可以调试需要执行的代码。如果是 php 解析的代码,相当方便
(8)函数查询功能其实就是查询官网内置的相关函数,查阅具体的函数使用方法以及参数说明;
(9)数据的管理功能体现在连接本地的数据库或者远程数据库时,可以方便项目的管理,用户可连接 mySQL 和 SQLserver, 示例如 3.3 图所示。
使用Seay进行代码安全审计_第7张图片

实验案例 - DVWA靶场

DVWA介绍

DVWA靶场可以进行SQL注入漏洞、XSS漏洞、CSRF漏洞、以及文件上传等漏洞的相关练习,因为此系统又提供了许多的安全演练相关的级别,所以可以逐步地来提升Web渗透的相关的技术。DVWA靶场就是一套开源的系统,可以在练习Web渗透技术的同时,通过阅读源码学习到对于各种漏洞的安全防护编码的知识。

DVMA靶场下载

GitHub - d.igininja/DVWA: Dam.n Vulnerable Web Appl.icatio.n
图4.1 DVMA压缩包
解压后如图所示:
使用Seay进行代码安全审计_第8张图片

Seay中新建项目

在Seay中选择进行新建项目,如图4.3所示。
使用Seay进行代码安全审计_第9张图片

Seay中选择DVWA本地程序

在新建项目中,选择DVNA的相关源代码
使用Seay进行代码安全审计_第10张图片

查看Seay中的DVMA的目录结构

使用Seay进行代码安全审计_第11张图片

Seay 开启审计

使用 Seay中的自动审计功能,点击“自动审计按钮”。
使用Seay进行代码安全审计_第12张图片

审计结果

审计的结果如图 4.7所示
使用Seay进行代码安全审计_第13张图片

生成代码审计报告

Seay可以自动生成审计报告,可在浏览器中打开,因为是html格式。
使用Seay进行代码安全审计_第14张图片
我们可以在报告中看到各种漏洞的相关分析,以及漏洞文件的绝对路径。
使用Seay进行代码安全审计_第15张图片

漏洞相关分析

自动审计系统可以罗列出所有漏洞,如文件漏洞,文件读取的漏洞。可以通过自己分析可以熟悉和了解Web安全的相关漏洞,从而将漏洞和代码关联到一起,在理解代码的某些部分种可以出现的漏洞。比如ID序号为20,漏洞描述为文件操作函数里面存在变量,可以在任意文件中读取,删除,修改文件。
使用Seay进行代码安全审计_第16张图片
选中ID为20的漏洞,双击查看漏洞的信息,就可以可以查看漏洞的对应信息,以及相关分析。
使用Seay进行代码安全审计_第17张图片
可以看到,输入文件后,可以在第227行对文件进行 unlink操作。
使用Seay进行代码安全审计_第18张图片
打开 phpStudy程序,然后开启Apache和MySql组件,在主机中验证这个漏洞。
使用Seay进行代码安全审计_第19张图片
在主机上登陆DVNA,输入账号,密码。
使用Seay进行代码安全审计_第20张图片
安全级别选择 low级别,然后点击“提交”。使用Seay进行代码安全审计_第21张图片
左侧选择“File Upload”,显示界面如下
使用Seay进行代码安全审计_第22张图片
根据漏洞描述,上传照片格式的文件。
使用Seay进行代码安全审计_第23张图片
使用Seay进行代码安全审计_第24张图片
点击 ViewSource生成系统源码,对源码进行审计分析。
使用Seay进行代码安全审计_第25张图片
与Seay分析的结果进行比较,两者分析结果是一致的。
使用Seay进行代码安全审计_第26张图片
审计结束
点个赞再走吧
往期传送门

你可能感兴趣的:(代码审计,web安全,php)