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

news2024/10/7 8:26:17

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _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.coloradmin.cn/o/114629.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

毕业5年,我买房了

持续坚持原创输出,点击蓝字关注我吧 都说人到30就觉得时间过的很快,这句话确实不假,2022年我已经毕业五年,今年下半年也终于在成都高新区购房了,在这里有了自己的家。 购房对于大多数人来说肯定是人生一件大事吧&…

【Maven基础】单一架构案例(三)

第六节 业务功能:登录 1、显示首页 1.1、流程图 1.2、创建 PortalServlet 1.2.1、创建 Java 类 public class PortalServlet extends ViewBaseServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletExceptio…

NetSuite Decode函数

昨天是平安夜,小家伙仍然为圣诞老人的到来准备了礼物,这是他的传统。每年为了感谢圣诞老人和驯鹿的到来,他都会准备上点心、水果。今年,他认为驯鹿可能需要电力,所以准备了电池给它们享用。 真希望天真一直伴随他的成长…

nestjs学习

某种原因开始学习nestjs,想用nestjs做后端,mongodb做数据库来实现一个微信小程序的后台,开始了哼哧哼哧的爬代码之路。 如果想使用自己写的js或ts工具库,需要使用require进行导入!!否则找不到文件&#xff…

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

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

qt嵌入并运行外部exe

由于项目需要,要实现将一个外部exe运行在qt的窗口中。下面记录一下过程: 首先就是在qt中创建一个新项目 由于我这里没有用到画布,所以没有勾选Generate form 然后就会自动生成一个可运行的代码 然后将我下边的代码替换粘贴进去 #includ…

RabbitMQ 第二天 高级 7 RabbitMQ 高级特性 7.5 死信队列

RabbitMQ 【黑马程序员RabbitMQ全套教程,rabbitmq消息中间件到实战】 文章目录RabbitMQ第二天 高级7 RabbitMQ 高级特性7.5 死信队列7.5.1 死信队列概述7.5.2 代码实现7.5.3 小结第二天 高级 7 RabbitMQ 高级特性 7.5 死信队列 7.5.1 死信队列概述 死信队列&am…

[LeetCode周赛复盘] 第 325 场周赛20221225

[LeetCode周赛复盘] 第 325 场周赛20221225 一、本周周赛总结二、 [Easy] 6269. 到目标字符串的最短距离1. 题目描述2. 思路分析3. 代码实现三、[Medium] 6270. 每种字符至少取 K 个1. 题目描述2. 思路分析3. 代码实现四、[Medium] 6271. 礼盒的最大甜蜜度1. 题目描述2. 思路分…

<Linux线程同步>——《Linux》

目录 1. Linux线程同步 1.1条件变量 1.2同步概念与竞态条件 1.3条件变量函数 1.4 为什么pthread_ cond_ wait 需要互斥量? 1.5 条件变量使用规范 后记:●由于作者水平有限,文章难免存在谬误之处,敬请读者斧正,俚语成篇&am…

论文阅读技巧

文献阅读思维 为什么你花了大量的时间来看文献却没有收获?那是因为你漫无目的的看文献,能有什么收获?所以我们要带着两个问题有目的的阅读文献。这个目的是什么?就是为了给自己找创新思路。同时在看摘要的时候你问自己第一个问题…

Mac (M1)搭建QGC地面站环境

之前朋友介绍了一个活,刚开始以为是针对树莓派进行二次开发。到了之后才发现,全新的领域,抱着试一试的想法就蛮答应了下来。后来在搭建环境的过程了一路受挫,不过就在写此文前几分钟,终于看到了成功的标志,…

2022年春秋杯网络安全联赛-冬季赛RE部分题解

easy_python python字节码 逻辑整理后就给flag flag [204, 141, 44, 236, 111, 140, 140, 76, 44, 172, 7, 7, 39, 165, 70, 7, 39, 166, 165, 134, 134, 140, 204, 165, 7, 39, 230, 140, 165, 70, 44, 172, 102, 6, 140, 204, 230, 230, 76, 198, 38, 175] for i in rang…

C++进阶(一)C++新特性:智能指针、右值引用、lambda、多线程操作、function和bind、可变模板参数

layout: post title: C进阶(一)C新特性:智能指针、右值引用、lambda、多线程操作、function和bind、可变模板参数 description: C进阶(一)C新特性:智能指针、右值引用、lambda、多线程操作、function和bind…

圣诞节来啦,快把这个动态爱心送个那个TA

作者主页:Designer 小郑 作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue、SpringBoot和微信小程序)、系统定制、远程技术指导。CSDN学院、蓝桥云…

_15LeetCode代码随想录算法训练营第十五天-C++二叉树

_15LeetCode代码随想录算法训练营第十五天-C二叉树 题目列表 110.平衡二叉树257.二叉树的所有路径404.左叶子之和 110.平衡二叉树 题目 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每…

雪花算法和uuid比较

1. 雪花算法 ​ 现在的服务基本是分布式、微服务形式的,而且大数据量也导致分库分表的产生,对于水平分表就需要保证表中 id 的全局唯一性。对于 MySQL 而言,一个表中的主键 id 一般使用自增的方式,但是如果进行水平分表之后&…

结构体(10)

目录 1、结构体的声明 1、结构体的声明 2、结构体变量的定义和初始化 2、结构体成员的访问 3、结构体传参 1、结构体的声明 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 1、结构体的声明 例如:描述一个学生 注…

KOOM线上APM监控最全剖析

APM,全称是Application Performance Management,也就是应用性能管理,这与我们平时写的业务可能并不相关,但是却承载着App线上稳定的责任。当一款App发布到线上之后,不同的用户有不同场景,一旦App出现了问题…

【云原生系列CKA备考】新建虚拟机安装Ubuntu20.04系统

目录一、环境准备二 、安装虚拟机设置网络其他操作手册:安装 kubeadm 一台兼容的 Linux 主机(或者云主机)。Kubernetes 项目为基于 Debian 和 Red Hat 的 Linux 发行版以及一些不提供包管理器的发行版提供通用的指令。 每台机器 2 GB 或更多的 RAM(如果…

数据库,计算机网络、操作系统刷题笔记18

数据库,计算机网络、操作系统刷题笔记18 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle…