[ 代码审计篇 ] Fortify 安装及使用详解(一)Fortify 下载安装并设置语言为中文导出中文报告

news/2024/12/4 18:25:24/

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

  • 🍬 博主介绍
  • 一、Fortify介绍
    • 1、Fortify简介
    • 2、Fortify原理
    • 3、Fortify SCA引擎介绍:
    • 4、Fortify支持语言
  • 二、Fortify下载
  • 三、Fortify安装
    • 1、双击exe文件
    • 2、点击next
    • 3、同意协议,点击下一步
    • 4、选择安装路径、点击下一步
    • 5、选择组件、点击下一步
    • 6、选择license、点击下一步
    • 7、选择更新服务器,这里可以不用填写
    • 8、移除之前版本选择No
    • 9、安装实例代码项目选择No
    • 10、准备安装、点击下一步
    • 11、等待安装中
    • 12、安装完成、点击Finish及完成安装
    • 13、替换jar包
    • 14、添加rules和ExternalMetadata
    • 15、运行fortify
    • 16、提示是否更新规则,我们选No
    • 17、打开后界面如下
  • 四、修改语言为中文
    • 1、运行scapostinstall.cmd修改为中文
      • 1. 运行scapostinstall.cmd
      • 2. 选择设置
      • 3. 选择常规设置
      • 4. 选择本地的
      • 5. 选择中文
      • 6. 退出设置面板
    • 2、直接再fortify前端面板修改设置
      • 1. 进入选项
      • 2. 选择语种
  • 五、Fortify简单扫描并导出报告
    • 1、打开工作台
    • 2、选择静态代码所在目录,进行扫描
    • 3、扫描完成
    • 4、导出报告
    • 5、查阅报告
  • 六、相关资源

一、Fortify介绍

1、Fortify简介

Fortify 是一个静态的、白盒的软件源代码安全测试工具。它通过内置的五大主要分析引擎:数据流、语义、结构、控制流、配置流等对应用软件的源代码进行静态的分析,通过与软件安全漏洞规则集进行匹配、查找,从而将源代码中存在的安全漏洞扫描出来,并可导出报告。扫描的结果中包括详细的安全漏洞信息、相关的安全知识、修复意见。

2、Fortify原理

首先通过调用语言的编译器或者解释器把前端的语言代码(如JAVA,C/C++源代码)转换成一种中间媒体文件NST(Normal Syntax Tree),将其源代码之间的调用关系,执行环境,上下文等分析清楚。
通过分析不同类型问题的静态分析引擎分析NST文件,同时匹配所有规则库中的漏洞特征,将漏洞抓取出来,然后形成包含详细漏洞信息的FPR结果文件,用AWB打开查看。

3、Fortify SCA引擎介绍:

数据量引擎:跟踪、记录并分析程序中的数据传递过程所产生的安全问题。
语义引擎:分析过程中不安全的函数,方法的使用的安全问题。
结构引擎:分析程序上下文环境、结构中的安全问题。
控制流引擎:分析程序特定时间、状态下执行操作指令的安全问题。
配置引擎:分析项目配置中的敏感信息和配置确实的安全问题。

4、Fortify支持语言

FortifySCA支持的21语言,分别是:

1、asp.net
2、VB.Net
3、c#.Net
4、ASP
5、VBscript
6、VS6
7、java
8、JSP
9、javascript
10、HTML
11、XML
12、C/C++
13、PHP
14、T-SQL
15、PL/SQL
16、Action script
17、Object-C (iphone-2012/5)
18、ColdFusion5.0 - 选购
19、python -选购
20、COBOL - 选购
21、SAP-ABAP -选购

二、Fortify下载

CSDN有积分的小伙伴可以在CSDN直接下载,方便快捷,还能给我加几个积分,哈哈哈
CSDN下载链接:

https://download.csdn.net/download/qq_51577576/87341637

把百度网盘链接删除之后就提示不限流了 。。。。。。文章质量就提高了 ??????

这里是我添加了两个链接,其中有一个是我自己百度网盘分享的,一个是我传到CSDN的,提示文章质量低下,然后我删了百度网盘分享链接。。。。。。
为了照顾到CSDN没有积分的小伙伴们,我最终还是把百度网盘的链接加上来了

百度网盘下载

在这里插入图片描述

把百度网盘链接删除之后就提示不限流了 。。。。。。文章质量就提高了 ??????

在这里插入图片描述

三、Fortify安装

1、双击exe文件

在这里插入图片描述

2、点击next

在这里插入图片描述

3、同意协议,点击下一步

在这里插入图片描述

4、选择安装路径、点击下一步

在这里插入图片描述

5、选择组件、点击下一步

在这里插入图片描述

6、选择license、点击下一步

License在下载文件里面有

在这里插入图片描述

7、选择更新服务器,这里可以不用填写

在这里插入图片描述

8、移除之前版本选择No

在这里插入图片描述

9、安装实例代码项目选择No

在这里插入图片描述

10、准备安装、点击下一步

在这里插入图片描述

11、等待安装中

在这里插入图片描述

12、安装完成、点击Finish及完成安装

记得把自动更新取消,我们后续会设置中文

在这里插入图片描述

13、替换jar包

fortify安装:安装好之后,将下载的fortify-common-20.1.1.0007.jar包替换掉fortify安装目录下的Core\lib目录下的同名包

在这里插入图片描述
在这里插入图片描述

14、添加rules和ExternalMetadata

将规则包rules,将文件放入\Core\config\目录下;

在这里插入图片描述
在这里插入图片描述

15、运行fortify

在这里插入图片描述

16、提示是否更新规则,我们选No

这里我直接截图标注标注反了

在这里插入图片描述

17、打开后界面如下

在这里插入图片描述

四、修改语言为中文

其实上面完成就已经是中文了,关键在于第十六步,一定要选择NO,不能让他自动更新规则。
那么如果不是中文如何改成中文呢,有两种方式。

1、运行scapostinstall.cmd修改为中文

1. 运行scapostinstall.cmd

安装路径\Fortify\Fortify_SCA_and_Apps_20.1.1\bin

在这里插入图片描述

2. 选择设置

我们直接输入2就行

[1] Migration...
[2] Settings...
[s] Display all settings
[q] Exit
Please select the desired action (1,2,s,q): 2

在这里插入图片描述

3. 选择常规设置

直接输入1就可以了

在这里插入图片描述

4. 选择本地的

直接输入1就可以了

在这里插入图片描述

5. 选择中文

输入zh_CN按回车就ok了

在这里插入图片描述

6. 退出设置面板

直接键入q退出就ok了

在这里插入图片描述

2、直接再fortify前端面板修改设置

1. 进入选项

重启fortify,选择菜单栏的options,接着选择options

在这里插入图片描述

2. 选择语种

根据如图选择,然后点击ok就设置完成了

在这里插入图片描述

五、Fortify简单扫描并导出报告

1、打开工作台

在这里插入图片描述

2、选择静态代码所在目录,进行扫描

我这里选择高级,让他自动识别

在这里插入图片描述

点击之后,跳转到文件目录,我们选择一个demo

在这里插入图片描述

确认信息,下一步

在这里插入图片描述

scan

在这里插入图片描述

3、扫描完成

在这里插入图片描述

查看扫描结果详细信息

在这里插入图片描述

4、导出报告

我们设置了中文语言之后导出的报告就是中文报告。

在这里插入图片描述

在这里插入图片描述

导出成功

在这里插入图片描述

5、查阅报告

这是我刚刚下载的PDF

在这里插入图片描述

打开发现是中文的,非常nice

在这里插入图片描述

六、相关资源

1、Fortify下载连接


http://www.ppmy.cn/news/6657.html

相关文章

C++-----模板

举个例子,如果要你交换两个数值,你会怎么做呢? ————你肯定会说,那就写一个Swap交换函数吧! 没错!Swap函数确实可以实现交换,但如果我想让你同时进行不能类型的数值呢,比如floa…

数据结构初阶:树与二叉树(1)——堆

许久没发博客,在这里跟各位看客道声久等了~ 冬至已至,各位有没有吃上热乎的饺子呢 下面给各位奉上承载着满满干货的饺子吧: 目录 一、树 1. 树的结构定义 2. 树的相关概念 3. 树的表示 孩子兄弟表示法 二、二叉树 1. 二叉树的结构定义 2. 特…

指针与数组的联系与区别【一万六千字超详解】

🏖️作者:malloc不出对象 ⛺专栏:《初识C语言》 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 目录前言数组的性质1.1 数组的内存布局1…

离散数学数理逻辑部分【2】

文章目录命题逻辑等值演算公式的使用【重点】析取范式和合取范式【重点】范式存在定义【了解】求公式A的范式的步骤:【重点】极大项和极小项【重点】主合取范式和主析取范式【重点】等式演算求主析取范式【重点】真值表求主析取范式【了解】主范式的应用【重点】推理…

编程语言中特殊符号的英文表示

tags: English 写在前面 最近搞FLTK, 发现总是要复习(预习)一下Makefile的写法的, 但是很多符号不认识含义(这同时也出现在Shell编程中)并且直接google的话并不能搜到符号, 所以就很麻烦了, 后来想到这些符号都有英文读法的呀, 下面那就来一起认识一下, 也相当于学英语了. 参…

uniapp动态切换显示不同内容组件

需求描述 通过点击注册或是登录按钮切换不同的组件.默认显示登陆界面,登录字样加粗显示,登录页面显示手机号密码登录.点击注册切换到注册页面,注册字样加粗显示,页面显示手机号和验证码以及注册按钮.对应页面显示如下: 实现代码: <template><view class"conte…

distinct与group by 去重

distinct与group by 去重distinct 特点&#xff1a;group by 特点&#xff1a;总结&#xff1a;mysql中常用去重复数据的方法是使用 distinct 或者group by &#xff0c;以上2种均能实现&#xff0c;但也有不同的地方。distinct 特点&#xff1a; 1、distinct 只能放在查询字段…

驱动开发流程

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、驱动开发的流程是什么样的&#xff1f;二、驱动文件和设备树的关系总结前言 前面我们已经搭建好开发环境、编译系统&#xff0c;那么接下来就是我们进入正式…