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

news/2024/4/19 18:07:52/

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _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;那么接下来就是我们进入正式…

排序——快排(递归/非递归)

目录 定义 递归 三种方法 1.hoare法 2.挖坑法 3.双指针法 整体 优化1 优化2 非递归 定义 快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法&#xff0c;其基本思想为&#xff1a;任取待排序元素序列中 的某元素作为基准值&#xff0c;按照该排序码将待排序集…

用HTML+CSS构建一个绚丽的登录页面

用HTMLCSS构建一个绚丽的登录页面 参考文章&#xff1a; 动态水滴页面 自动切换背景的登录页面 登录页面代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" c…

RabbitMQ 第二天 高级 7 RabbitMQ 高级特性 7.2 Consumer Ack

RabbitMQ 【黑马程序员RabbitMQ全套教程&#xff0c;rabbitmq消息中间件到实战】 文章目录RabbitMQ第二天 高级7 RabbitMQ 高级特性7.2 Consumer Ack7.2.1 Consumer Ack7.2.2 Consumer Ack 小结7.2.3 消息可靠性总结第二天 高级 7 RabbitMQ 高级特性 7.2 Consumer Ack 7.2.…

trickle_ice 原理

背景是webrtc官方提供了一个测试界面&#xff0c;测试webrtc的turn、stun的联通性。 https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ 最近我自己部署了turnserver&#xff0c;然后就很好奇这个东西是怎么生效的&#xff0c;万一背后有个程序收集我…

平衡二叉树的一系列操作:删除、插入(在二叉排序树中插入新结点后,如何保持平衡)、调整平衡等等等

平衡二叉树的插入&#xff08;在二叉排序树中插入新结点后&#xff0c;如何保持平衡&#xff09;1.平衡二叉树的定义2.平衡二叉树的插入&#xff08;调整最小不平衡子树A&#xff09;2.1LL&#xff08;在A的左孩子的左子树中插入导致不平衡&#xff09;2.2RR&#xff08;在A的右…

白话说Java虚拟机原理系列【第六章】:内存结构之栈/寄存器/直接内存详解

文章目录JAVA栈(Stack)本地方法栈寄存器(程序计数器)直接内存前导说明&#xff1a; 本文基于《深入理解Java虚拟机》第二版和个人理解完成&#xff0c; 以大白话的形式期望能用大家都看懂的描述讲清楚虚拟机内幕&#xff0c; 后续会增加基于《深入理解Java虚拟机》第三版内容&a…

Day 02- Vue3 技术_分析工程结构

Vue3工程结构 |—— node_modules&#xff1a;通过 npm install 下载安装的项目依赖包 |—— public&#xff1a;存放静态资源公共资源&#xff0c;不会被压缩合并 | |——3DModel&#xff1a;存放.glb3D模型 | |——favicon.ico&#xff1a;网站图标 | |——…

unity中使用代码接绘制三维模型

一 模型的构成 在三维世界中&#xff0c;绘制一个模型并不是什么很复杂的问题。只要知道了基本原理一切需求便迎刃而解。 如下图所示&#xff0c;任何模型都是由点线面构成的&#xff0c;而面的最小单位是三角形。 任何一个多边形的面&#xff0c;都是由多个三角形构成的。比…

【车载开发系列】UDS诊断---DTC故障码基础回顾

【车载开发系列】UDS诊断—DTC故障码基础回顾 UDS诊断---DTC故障码基础回顾【车载开发系列】UDS诊断---DTC故障码基础回顾一.什么是DTC故障码二.DTC故障码的作用三.什么是自诊断需求四.故障自诊断范围是什么五.DTC故障码的格式及组成六.DTC之故障所属系统七.DTC之故障类型八.DT…

Excel之INDIRECT函数实现某列元素上下翻转

Excel之INDIRECT函数实现某列元素上下翻转方法1&#xff1a;降序按钮1.0 使用条件1.1 选中元素序号列->排序和筛选->降序1.2 排序提醒对话框->排序1.3 处理后结果方法2&#xff1a;Indirect函数2.0 方法一的不足。2.1 INDIRECT函数处理及结果2.2 空白单元格的恢复及结…

Matlab 方位角计算

文章目录 一、简介二、实现代码三、实现效果一、简介 方位角是指从某点的正北方向起顺时针旋转到某目标点方向的水平夹角,角度范围(0~360)。如下所示: 令atn= a r c t a n ( Δ Y A B / Δ X

Git - windows下操作 SSH Key

Git - windows下操作 SSH Key 流程 SSH密钥介绍 简单说&#xff0c;SSH是一种网络协议&#xff0c;用于计算机之间的加密登录。如果一个用户从本地计算机&#xff0c;使用SSH协议登录另一台远程计算机&#xff0c;我们就可以认为&#xff0c;这种登录是安全的&#xff0c;即使…