首页 > 编程知识 正文

php代码审计实战,代码审计工具fortify

时间:2023-05-04 22:57:19 阅读:156879 作者:1270

欢迎新同学的光临

… …

人若无名,便可专心练剑

我不是一条咸鱼,而是一条死鱼啊!

前言代码审核工具帮助白盒测试,大大提高漏洞分析和代码挖掘的效率。 经常使用的代码审计工具后,选择PHP源审计工具—— Rips以了解详细的使用方法

工具介绍源代码静态安全审计使用自动化工具帮助人工挖掘漏洞。 良好的代码审计软件可以显著提高审计工作的效率。 利用自动化的代码审计工具是所有代码审计员的必备能力。 代码审计工具可以根据编程语言、审计原理和运行环境进行不同的分类。 目前,商业性审计软件一般支持vcg(vcg )、Fortify SCA等多种编程语言,存在价格昂贵的缺点。 其他常见的代码审核工具包括findbugs、codescan和seay,但大多数仅支持Windows环境。 对于PHP代码审计,此处仅介绍免费的适用于linux环境的PHP代码审计软件——Rips

RIPS是一个开源、漏洞挖掘能力强的自动化代码审计工具。 用PHP语言编写,用于静态审计PHP代码的安全性。 visualcodegrepper (vcg )是一种免费的代码安全审计工具,支持C/C、C#、VB、PHP、Java和PL/SQL。 基于词典的检测工具,功能简洁,使用方便。 FortifySCA(staticcodeanalyzer )是一款商用源代码审计工具,由被惠普收购的Fortify软件公司开发。 使用独特的数据流分析技术跨层次分析代码漏洞的产生,目前支持所有主要开发语言。 RIPS使用教程RIPS是用php编写的源代码分析工具,可以使用静态分析技术自动挖掘php源代码中潜在的安全漏洞。 渗透测试人员可以直接轻松地查看分析结果,而无需查看整个程序代码。 由于静态源代码分析的限制,代码审阅者必须验证漏洞是否确实存在。 RIPS可以检测XSS、SQL注入、文件泄漏、标题漏洞等。

审计RIPS的效率不高,因此审计大型cms源代码需要很多时间。 因此,考虑之后,决定选择上一个课程下载的代码进行审计。 学生们掌握了工具的使用方法后,可以在放学后自己下载cms源代码尝试分析

打开浏览器并输入url:http://localhost/rips

这是rips的主界面。 接下来我将介绍这些选项的含义

subdirs :如果选中此选项,则会扫描所有子目录。 如果不选中,则只扫描级别1目录,默认情况下将进行检查

verbosity level :选择扫描结果的详细级别。 默认值为1。 推荐为1

vuln type :选择要扫描的漏洞类型。 支持命令注入、代码执行、SQL注入等10种以上的漏洞类型,默认为所有扫描

代码样式:选择扫描结果的显示样式。 (对应9种语法亮点) ) ) ) )。

/regex/:使用正则表达式过滤结果

值得注意的是,官方声称rips只能在firefox上使用

然后在path/file中输入扫描目录。 单击/var/www/html/codeaudit,扫描。

扫描结果显示为图标,可以看到非常直观。

rips对于扫描的课程中存在漏洞的代码,不仅给出说明,而且给出合适的使用代码。 例如:

例如,在上图中,我们扫描了命令注入漏洞cmdinject1.php (确实是我们以前命令注入章节的实验代码),打开详细信息,发现用户可以输入机密信息,并出现了会引起命令注入漏洞的说明

单击左边的问号,说明什么是指令注入的漏洞:

单击左边的红色按钮还可以生成漏洞利用代码。 例如,键入uname -a,然后单击creat将生成的代码保存为testcode.php:以此作为示例

在testcode.php保存目录中运行命令: phptest code.PHP localhost/code audit/cmd inject 3360

请注意,服务器的版本信息已成功返回。

help消息还提供了漏洞修复方案:

翻译过来就是:

将代码限制为非常严格的字符集,或者构建允许输入的命令的白名单。 不要试图过滤恶意命令。 攻击者总是可以绕过。 请尽量避免使用系统命令执行功能。

代码示例: modes=Array(「r "、" w "和" a " );

if (! in_Array(modes=Array ) (r、w和a ); if (! Inarray(_get[“mode”]”),$

modes ) )退出;

我自横刀向天笑,去留肝胆两昆仑

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。