当前位置: 首页 > news >正文

代码审计-审计工具介绍-DAST+SAST+IAST项目

DAST+SAST+IAST项目介绍

DAST:

动态应用程序安全测试(Dynamic Application Security Testing)技术在测试或运行阶段分析应用程序的动态运行状态。它模拟黑客行为对应用程序进行动态攻击,分析应用程序的反应,从而确定该Web应用是否易受攻击。

SAST:

静态应用程序安全测试(Static Application Security Testing)技术通常在编码阶段分析应用程序的源代码或二进制文件的语法、结构、过程、接口等来发现程序代码存在的安全漏洞。

IAST:

交互式应用程序安全测试(Interactive Application Security Testing)是2012年Gartner公司提出的一种新的应用程序安全测试方案,通过代理、VPN或者在服务端部署Agent程序,收集、监控Web应用程序运行时函数执行、数据传输,并与扫描器端进行实时交互,高效、准确的识别安全缺陷及漏洞,同时可准确确定漏洞所在的代码文件、行数、函数及参数。IAST相当于是DAST和SAST结合的一种互相关联运行时安全检测技术。

 

各类语言审计工具

PHP:Seay RIPS CheckMarx Fortify VCG Kunlun-M

NET:VCG Fortify CheckMarx

Java:Fortify CheckMarx VCG

Python:Bandit Fortify CheckMarx

JS:Kunlun-M NodeJsScan Fortify CheckMarx

Go:Gosec CheckMarx

 

演示:SAST各类语言审计工具详细介绍

工具:Seay源代码审计系统(还可以当phpstorm查看代码)

语言:php

下载:https://github.com/f1tz/cnseay

使用:启动工具,选择 新建项目 导入源码——点击 自动审计 就会自动将可能存在漏洞的代码点列出来。

 

工具:KunLun-M (推荐使用-非常香)

介绍:KunLun-M是一个完全开源的静态白盒扫描工具,支持PHP、JavaScript的语义扫描,基础安全、组件安全扫描,Chrome Ext\Solidity的基础扫描。

语言:PHP,JS

下载:https://github.com/LoRexxar/Kunlun-M

安装:

1、安装依赖库:pip install -r requirements.txt

2、配置文件启用(修改文件后缀):Kunlun_M/settings.py.bak ——> Kunlun_M/settings.py

3、初始化数据库:python kunlun.py init initialize

4、加载规则数据库:python kunlun.py config load

命令行模式使用(python3):python kunlun.py scan -t 源码路径

扫描完成:结果保存在工具根目录result目录下

WEB模式使用:python kunlun.py web -p 9999

访问:localhost:9999  进入web模式。

 

工具:VCG (老牌工具,一般般)

语言:PHP,NET,JAVA

下载:https://github.com/nccgroup/VCG

使用:运行exe程序,第一步必须点击Settings选择源码语言。第一次启动程序会弹出一个框,双击进入点击ok即可。

第二步,点击File——Net Target Directory 选择源码

第三步,点击scan选择扫描模式,开始扫描

第四步,扫描完成会弹出如下选项,双击进入选择第一个选项,点击ok即可查看审计详情。

审计详情:

第五步,点击Summary Table 即可查看漏洞产生的代码位置

 

工具:Bandit

语言:Python

下载:https://github.com/PyCQA/bandit

安装:pip install bandit

工具根目录执行:

linux:

安装后会在当前Python目录下的bin中生成工具运行程序

使用:bandit.exe -r 需要审计的源码目录

windows:

安装后会在当前Python目录下的script中生成工具运行程序

使用:bandit.exe -r 需要审计的源码目录

python/scripts目录进入命令行执行:扫描结果展示在命令行——>高危:红色  中危:黄色  低危:蓝色

使用 -o a.txt(文件名)  -f txt(文件类型) 这两个参数即可将扫描结果保存到python/scripts目录

相关文章:

代码审计-审计工具介绍-DAST+SAST+IAST项目

DASTSASTIAST项目介绍 DAST: 动态应用程序安全测试(Dynamic Application Security Testing)技术在测试或运行阶段分析应用程序的动态运行状态。它模拟黑客行为对应用程序进行动态攻击,分析应用程序的反应,从而确定该We…...

网络安全应急响应预案培训

应急响应预案的培训是为了更好地应对网络突发状况,实施演 练计划所做的每一项工作,其培训过程主要针对应急预案涉及的相 关内容进行培训学习。做好应急预案的培训工作能使各级人员明确 自身职责,是做好应急响应工作的基础与前提。应急响应…...

STM32F4X 定时器中断

STM32F4X 定时器中断 什么是定时器STM32F4X 定时器分类有关定时器的概念预分频(PSC)自动重装载值(ARR) STM32F4X定时器例程定时器相关函数定时器例程 什么是定时器 定时器(Timer)最基本的功能就是定时,比如定时翻转LED灯,定时向串口发送数据等。除此之外…...

MongoDB +Dataframe+excel透视表

读取MongoDB中的表 from pymongo import MongoClient import pandas as pd client MongoClient(IP地址, 27017)db client[AOI] collection db[表名] #替换为实际的名称 document collection.find({time:{$gte:2023-08-15 15:26:06}})#筛选数据 df pd.DataFrame(list(docu…...

PostgreSQL日期相关

PostgreSQL日期相关 PostgreSQL日期相减得到整数 PostgreSQL日期相减得到整数 天数相减得到整数,执行下面的SQL: select to_number(date_trunc(day,2023-08-18 00:00:00::TIMESTAMP - 2023-08-10 00:00:00::TIMESTAMP INTERVAL 1 day)::text, 9999999…...

C++编程法则365天一天一条(8)const_cast去除cv限定

文章目录 1、使用场景2、关于const_cast的陷阱3、总结const_cast主要用于去除cv限定,且在C++提供的4个类型转换运算符里,只有const_cast可以去除或者添加cv属性。 1、使用场景 用法如下: const_cast< target-type >( expression ) 两个可能是多级指针且指向相同类型…...

某网站DES加密逆向分析实战

文章目录 一、抓包分析二、加密分析一、重写加密 一、抓包分析 分析站点&#xff1a; aHR0cDovL2VpcC5jaGFuZmluZS5jb20v 首先我们提交一下登陆信息&#xff1a; 搜索j_password查看加密函数: 把上图搜索到的encryptPassword函数拿出来分析一下&#xff1a; function encryptP…...

面向对象的理解

想要对象了&#xff1f;没问题&#xff0c;new一个就好了。 但是&#xff0c;new太多对象&#xff0c;对象也会生气的哦。 你瞧&#xff0c;她来了 从两段代码发现端倪 我们来计算一个矩形的面积&#xff0c;看看这两段代码有什么区别呢&#xff1f; 第一段&#xff1a; con…...

java ssl加密发送邮件

通过25端口发送邮件不安全&#xff0c;改为ssl加密方式发送邮件&#xff0c;比较常见的2中实现类发送邮件如下所示。 1、JavaMailSenderImpl 类 使用该实现类发送邮件&#xff0c;ssl加密使用端口号为465&#xff0c;借助Properties类设置ssl的各种配置。 SysUserEntity user…...

SpringBoot-yml配置文件的使用与优势

目录 一、什么是yml配置文件&#xff1f; 二、如何在SpringBoot中使用yml配置文件&#xff1f; 三、如何在SpringBoot中注入yml配置文件的属性&#xff1f; Value注解 ConfigurationProperties注解 四、yml配置文件与properties配置文件的区别和优势 区别 优势 五、总结…...

Layer Normalization(层规范化)

详细内容在这篇论文&#xff1a;Layer Normalization 训练深度神经网络需要大量的计算&#xff0c;减少计算时间的一个有效方法是规范化神经元的活动&#xff0c;例如批量规范化BN&#xff08;batch normalization&#xff09;技术&#xff0c;然而&#xff0c;批量规范化对小批…...

redisson参数配置

文章目录 pom配置链接配置建议 pom <!-- 引入spring-data-redis组件 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><exclusions><!-- 因springboot2.x…...

【基于Arduino的仿生蚂蚁机器人】

【基于Arduino的仿生蚂蚁机器人】 1. 概述2. Arduino六足位移台–蚂蚁机器人3D模型3. 3D 打印零件4. 组装Arduino六足位移台5. Arduino蚂蚁机器人电路图6. 为Arduino Hexapod设计PCB7. 组装电路板8. 系统代码9. Arduino蚂蚁机器人安卓应用程序在本教程中,我将向您展示如何构建…...

angular12里面FormGroup做多个项目的相关check

FromFroup在鼠标失去焦点时做相关check&#xff0c;可以在group方法第二个参数的位置加一个对象参数 { validator: this.checkPasswords } 在Angular 12中&#xff0c;可以使用formGroup来进行两个密码是否一致的检查。以下是一个示例&#xff1a; 首先&#xff0c;在组件的…...

TypeScript 的发展与基本语法

目录 一、为什么什么是TypeScript&#xff1f; 1、发展历史 2、typescript与javascript 3、静态类型的好处 二、基础语法 1、基础数据类型 2、补充类型 3、泛型 4、泛型的高级语法 5、类型别名&类型断言 6、字符串/数字 字面量 三、高级类型 1、联合/交叉类型…...

macOS - 上编译运行 risc-v (spike)

文章目录 一、说明二、安装步骤三、测试 一、说明 本文根据以下文章改编&#xff1a; RISC-V 环境配置 https://decaf-lang.github.io/minidecaf-tutorial/docs/step0/riscv_env.html 相关链接&#xff1a; riscv-gnu-toolchain GNU toolchain for RISC-V, including GCC ht…...

Linux--线程地址空间

1.程序地址空间 先来就看这张图 这是一张程序地址分布的图&#xff0c;通过一段代码来证明地址空间的分布情况 编译结果&#xff1a; 可以看出的是&#xff0c;父子进程中对于同一个变量打印的地址是一样的&#xff0c;这是因为子进程以父进程为模板&#xff0c;因为都没有对数…...

华为OD机试 - 最佳植树距离 - 二分查找(Java 2023 B卷 100分)

目录 一、题目描述二、输入描述三、输出描述四、备注说明五、二分查找六、解题思路七、Java算法源码八、效果展示1、输入2、输出3、说明 一、题目描述 按照环保公司要求&#xff0c;小明需要在沙化严重的地区进行植树防沙工作&#xff0c;初步目标是种植一条直线的树带。 由于…...

RNN+LSTM正弦sin信号预测 完整代码数据视频教程

视频讲解:RNN+LSTM正弦sin信号预测_哔哩哔哩_bilibili 效果演示: 数据展示: 完整代码: import torch import torch.nn as nn import torch.optim as optim import numpy as np import matplotlib.pyplot as plt import pandas as pd from sklearn.preprocessing import…...

如何自己实现一个丝滑的流程图绘制工具(四)bpmn-js开启只读状态

背景 流程图需要支持只读状态和编辑状态 翻看官方案例源码&#xff0c;扒拉到了禁用的js代码 DisableModeling.js const TOGGLE_MODE_EVENT toggleMode const HIGH_PRIORITY 10001export default function DisableModeling(eventBus,contextPad,dragging,directEditing,e…...

QT多线程定时任务实战:QTimer与QThread的高效协作与主线程通信

1. QT多线程定时任务的核心挑战 在开发桌面应用程序时&#xff0c;经常会遇到需要定期执行某些任务的场景&#xff0c;比如每隔5秒采集一次传感器数据、每分钟检查一次系统状态等。这时候很多开发者会直接在主线程中使用QTimer&#xff0c;但这样做有个致命问题&#xff1a;如…...

BilibiliCommentScraper:革新性全量数据采集的技术突破方案

BilibiliCommentScraper&#xff1a;革新性全量数据采集的技术突破方案 【免费下载链接】BilibiliCommentScraper 项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper 在当今数据驱动决策的时代&#xff0c;高效采集方案与完整数据获取已成为内容分析…...

5个高效管理技巧:用Ice实现macOS菜单栏清爽体验

5个高效管理技巧&#xff1a;用Ice实现macOS菜单栏清爽体验 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice macOS菜单栏作为日常操作的核心区域&#xff0c;常常因应用图标过多而变得杂乱无章&#…...

AWS Shell异步操作:非阻塞命令执行的终极指南

AWS Shell异步操作&#xff1a;非阻塞命令执行的终极指南 【免费下载链接】aws-shell An integrated shell for working with the AWS CLI. 项目地址: https://gitcode.com/gh_mirrors/aw/aws-shell AWS Shell是一款专为AWS CLI设计的强大交互式生产力工具&#xff0c;它…...

告别手动启动:教你写一个ROS2 Launch文件,一键运行robot_state_publisher和rviz2显示URDF

ROS2高效开发指南&#xff1a;用Launch文件一键启动机器人可视化系统 每次调试URDF模型都要重复输入一堆命令&#xff1f;手动启动robot_state_publisher、joint_state_publisher和rviz2节点不仅浪费时间&#xff0c;还容易遗漏参数。本文将带你深度掌握ROS2 Launch文件的编写…...

Unity坐标系实战解析:从localPosition到Position的层级关系与应用场景

1. 理解Unity中的坐标系基础 在Unity开发中&#xff0c;坐标系系统是构建3D世界的基石。很多新手开发者容易混淆localPosition和Position的概念&#xff0c;导致物体位置控制出现各种"灵异现象"。我们先从一个生活场景来理解&#xff1a;想象你站在客厅里&#xff08…...

从 0 手写一个巡检调度系统(五):接入大模型实现巡检问题解读与修复建议

摘要&#xff1a;在既有「架构巡检 → 问题落库」链路中&#xff0c;第一次引入大模型能力&#xff1a;对单条 issue 做「解读 修复建议」&#xff0c;要求输出可解析的结构化 JSON 并落库可追溯。本文记录选型、配置、HTTP 客户端、Prompt 约束与踩坑&#xff0c;便于同类业务…...

攻克Godot资源提取难题:godot-unpacker工具的创新解法

攻克Godot资源提取难题&#xff1a;godot-unpacker工具的创新解法 【免费下载链接】godot-unpacker godot .pck unpacker 项目地址: https://gitcode.com/gh_mirrors/go/godot-unpacker 问题&#xff1a;为什么普通解压工具无法胜任PCK文件提取&#xff1f; Godot引擎打…...

VibeVoice多音色展示:从儿童到老人的自然过渡效果

VibeVoice多音色展示&#xff1a;从儿童到老人的自然过渡效果 1. 引言 你有没有想过&#xff0c;一段文字可以同时用儿童的天真嗓音、青年的清澈声线、中年的沉稳语调&#xff0c;以及老者的沧桑音色来演绎&#xff1f;这不是科幻电影中的场景&#xff0c;而是VibeVoice带来的…...

手机号与QQ号关联查询工具:技术原理与实战指南

手机号与QQ号关联查询工具&#xff1a;技术原理与实战指南 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 破解数字身份关联难题&#xff1a;phone2qq工具的价值定位 在多账号管理场景中&#xff0c;用户经常面临数字身份关联断层问…...