API漏洞检测研究

news2024/11/23 10:36:24
xray API漏洞检测_青霄的博客-CSDN博客
Swagger ui接口自动化批量漏洞测试_swgeer-ui 漏洞_山山而川'的博客-CSDN博客
    
    
什么是 API 安全测试以及它是如何工作的? | Synopsys
API 安全测试针对应用程序编程接口 (API) ,就其安全性、正确性和可靠性进行测试,以确保其符合组织的最佳实践。
API 安全测试有助于识别和预防漏洞及其相关的潜在组织风险。通过了解 API 的输入预期,API 扫描工具能够智能地模糊化数据,以发现隐藏的错误。
API 扫描背后的理念是精心设计输入,以发现 API 中的错误和未定义的行为,其在本质上是模仿潜在黑客的行为和攻击向量。
传统的DAST扫描工具无法完全覆盖API,它们只覆盖一小部分API。如果组织的前端无法与所有 API 端点进行交互,传统的 DAST 扫描工具则会将其遗漏。因此,必须采用全面的 API 测试策略,以解决 API 所有端点中的问题。
     
   
【API安全】KCon 2022议题分享:自动化API漏洞挖掘 (zhihu.com)
 
 
  
   
十款优秀API安全测试工具-51CTO.COM
商业 vs 开源:10大主流API检测工具_腾讯新闻 (qq.com)
商业API测试工具与平台:
  • APIsec:针对API的渗透测试工具。很多工具可以扫描用于脚本注入等典型攻击的常见漏洞,但APIsec重在测试目标API的方方面面,确保从核心网络到访问核心网络的端点都免于遭受API代码漏洞影响。
  • AppKnox:AppKnox通过扫描定位在生产环境、端点或任何可能部署之处的API。定位后,用户可以选择API提交,进行进一步的测试。AppKnox测试所有可能导致API中断或被破坏的常见问题,测试包括对Web服务器、数据库和服务器上与API交互的所有组件的完整分析。
  • Data Theorem API Secure:旨在适应任何持续集成和持续交付/部署(CI/CD)环境,从而在开发的每个阶段和生产环境中为API提供持续的安全。该分析器引擎会持续搜索网络,查找新的API,并快速识别未授权API或属于公司影子IT的那些API。
  • Postman:使用安全存储库可以确保未来的API从一开始就保持严格的安全和组织标准。
  • Smartbear ReadyAPI:支持一键执行API安全分析,也还支持其他关键功能,例如查看API处理非预期负载或使用量突增的性能。
  • Synopsis API Scanner:除了安全测试之外,该工具还在其深度扫描与测试套件中融合了模糊测试。
     
开源API测试工具:
  • Astra:主要专注于表征状态转移(REST)API。Astra的效用在于帮助集成进CI/CD流水线,进行检查,确保常见漏洞不会蔓延到所谓的安全REST API中。
  • crAPI:crAPI是可以连接到目标系统并使用根客户端默认处理程序集提供基本路径的少数封装器之一,并且无需创建任何新连接即可完成此操作。高级API开发人员可以之节省大量时间。
  • Apache JMeter:Apache JMeter精巧的套件可以测试静态或动态资源的性能。它可以大量生成真实流量的模拟负载,供开发人员发现其API在压力下的表现。
  • Taurus:可以很方便地将独立API测试程序转换为连续测试操作。
  • FuzzapiFuzzapi是一个使用API_Fuzzer并为gem提供UI解决方案的rails应用程序。
   
   
DAST( 动态应用程序安全测试
DAST是测试web、移动和API应用程序以通过模拟攻击发现漏洞的过程。
DAST是使用自动扫描仪或手动渗透测试实践来实时测试应用程序的过程。
主要由 appsec 和渗透测试人员使用。
大多数自动扫描程序会发现 SQL 注入、NoSQL 注入、XSS 等严重漏洞。逻辑错误、身份验证和授权缺陷等难以发现的漏洞通常由道德黑客、渗透测试人员和 AppSec 工程师完成。首选方法是编写可以作为 CI/CD 的一部分执行的自动化测试用例。
优点
  • 独立于应用程序堆栈。它作为一个整体测试应用程序。在运行时的所有源代码和库都经过漏洞测试。
  • 不需要访问源代码
  • 误报率低:根据 OWASP 的基准项目,DAST 解决方案产生的误报率低于其他测试方法。
  • 识别配置问题:DAST 擅长发现仅在应用程序运行时出现的安全漏洞。此外,DAST 从外向内攻击应用程序,将其置于完美位置,以发现其他 AST 工具遗漏的配置错误。
  • 逻辑漏洞:这些缺陷在开发早期很难检测到。这些问题是由安全配置、数据和其他因素引起的,所以很难在非生产环境中检测到,检测这些缺陷需要在编写测试用例并在开发/生产中连续执行它们。
缺点:
  • 在代码中找不到漏洞的确切位置
  • 无法完全覆盖API
  • 测试可能很耗时。
免费的 DAST 解决方案:
  • EthicalCheck:API 的免费和自动化 DAST。   Free and Instant API penetration Testing | EthicalCheck™
  • Burp Suite:编写你的测试  Download Burp Suite Community Edition - PortSwigger
   
  
Astra:针对REST API的自动化安全测试工具
GitHub - flipkart-incubator/Astra: Automated Security Testing For REST API's
Astra可以自动检测和测试登录和注销(身份验证API),因此任何人都很容易将其集成到CI/CD管道中。Astra可以将API集合作为输入,因此这也可以用于在独立模式下测试API。
  • SQL注入
  • 跨站点脚本
  • 信息泄露
  • 断开的身份验证和会话管理
  • CSRF(包括盲CSRF)
  • Rate limit
  • CORS错误配置(包括CORS旁路技术)
  • JWT攻击
  • CRLF检测
  • XXE盲注
  
要求:
  • Linux or MacOS
  • Python 2.7
  • mongoDB
  
安装:
# 运行mongo容器
docker run --name astra-mongo -d mongo
# 安装GUI Docker
$ git clone https://github.com/flipkart-incubator/Astra.git
$ cd Astra
$ docker build -t astra .
$ docker run --rm -it --link astra-mongo:mongo -p 8094:8094 astra
# 安装CLI Docker
$ git clone -b docker-cli https://github.com/flipkart-incubator/Astra.git  # -b指定分支
$ cd Astra
$ docker build -t astra-cli .
$ docker run --rm -it --link astra-mongo:mongo astra-cli
     
http://192.168.11.135:8094/,经测试,感觉效果不行,dvwa漏洞环境现有的sql注入与csrf接口居然没检测出。
Fuzzapi:
Fuzzapi/fuzzapi: Fuzzapi is a tool used for REST API pentesting and uses API_Fuzzer gem (github.com)
https://youtu.be/rh7U6Kob24g  fuzzapi视频
https://youtu.be/viCCrt1aySE  fuzzapi视频
Automating API Penetration Testing using fuzzapi - AppSecUSA 2016 - YouTube fuzzapi POST请求
Fuzzapi是一个使用API_Fuzzer并为gem提供UI解决方案的rails应用程序。
安装:
​git clone https://github.com/Fuzzapi/fuzzapi.git
cd fuzzapi
docker-compose build
docker-compose up
web访问:http://localhost:3000 
安装问题:
1、Gemfile依赖于ruby,Gemfile文件中要求ruby2.3.0版本,所以要修改Dockerfile中“FROM ruby:2.3.0 ”
 
2、错误“There are problems and -y was used without --force-yes”可按照如下解决:
 
3、根据ruby 2.2安装bundler_tigergm310的博客-CSDN博客,可知由于bundler的最新版本已经不再支持ruby 2.3以下版本,需要指定bundler的版本:
 
4、错误“Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate
 
Rails Assets有段话:
 
据此修改如下:
 
  
构建后:
 
  
访问web:http://127.0.0.1:3000/
   
GET请求:填写参数如下:
文件上传接口扫描结果如下:服务器版本信息披露,通过x-powered-by进行信息披露、IDOR(越权漏洞)、Rate limit
 
   
   
POST请求:参数如下:
中级sql注入接口扫描结果:
   
   
xray:

chaitin/xray: 一款完善的安全评估工具,支持常见 web 安全问题扫描和自定义 poc | 使用之前务必先阅读文档 (github.com)

xray 安全评估工具文档

一款功能强大的安全评估工具。
xray 并不开源
目前支持的漏洞检测类型包括:
  • XSS漏洞检测 (key: xss)
  • SQL 注入检测 (key: sqldet)
  • 命令/代码注入检测 (key: cmd-injection)
  • 目录枚举 (key: dirscan)
  • 路径穿越检测 (key: path-traversal)
  • XML 实体注入检测 (key: xxe)
  • 文件上传检测 (key: upload)
  • 弱口令检测 (key: brute-force)
  •  jsonp 检测 (key: jsonp)
  • ssrf 检测 (key: ssrf)
  • 基线检查 (key: baseline)
  • 任意跳转检测 (key: redirect)
  • CRLF 注入 (key: crlf-injection)
  • Struts2 系列漏洞检测 (高级版,key: struts)
  • Thinkphp系列漏洞检测 (高级版,key: thinkphp)
  • XStream 系列漏洞检测 (key: xstream)
  • POC 框架 (key: phantasm)
  
主要特性:
  • 漏洞范围广
  • 检测速度快
  • 检测算法优秀
  • 高度定制化
  • 更新速度快
    
使用方法:
1、查看版本号
./xray_linux_amd64 version
 
  
2、使用使用 xray 基础爬虫模式进行漏洞扫描
./xray_linux_amd64 webscan --basic-crawler http://testphp.vulnweb.com/ --html-output xray-crawler-testphp.html
   
   
   
3、使用http代理进行被动扫描
./xray_linux_amd64 webscan --listen 127.0.0.1:7777 --html-output proxy.html
通过插件FoxyProxy设置浏览器 http 代理为 http://127.0.0.1:7777,就可以自动分析代理流量并扫描。
  
4、手动指定本次运行的插件
默认情况下,将会启用所有内置插件,可以使用下列命令指定本次扫描启用的插件。
xray webscan --plugins cmd-injection,sqldet --url http://example.com
xray webscan --plugins cmd-injection,sqldet --listen 127.0.0.1:7777
  
5、指定插件输出
可以指定将本次扫描的漏洞信息输出到某个文件中:
xray webscan --url Example Domain \
--text-output result.txt --json-output result.json --html-output report.html
 
  
报告样例: XRay Report

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/772911.html

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

相关文章

PHP之 使用阿里云对象存储OSS上传图片

参考地址 https://blog.csdn.net/weixin_42672802/article/details/129136850 https://blog.csdn.net/HZX19941018/article/details/86066529 function uploadosss($images){// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进…

自动化测试转型挑战及其解决方案

目录 前言: 自动化测试挑战 选择合适的自动化测试方法 选择正确的自动化工具 整理数据 何时开始和停止 如何克服挑战 前言: 自动化测试的转型是许多组织在提高测试效率和质量方面的重要举措。然而,这个转型过程中可能会面临一些挑战。…

python_day11_pymysql

SQL基础语法回忆 show DATABASES;use world;-- SELECT DATABASES();show TABLES;CREATE TABLE Student(id int,name VARCHAR(10),age int,gender VARCHAR(5) );删除表 # 删除表 DROP TABLE Student;插入操作 insert into student(id) VALUES(1),(2),(3);insert i…

通达信比较好用的CCI指标公式_通达信公式

M:14;N:6;Q:20; MM:IF(PERIOD0,M,IF(PERIOD1,M,IF(PERIOD2,M,IF(PERIOD3,M,IF(PERIOD4, M,IF(PERIOD5,Q,IF(PERIOD6,Q,IF(PERIOD7,Q,0)))))))); AVG:(HIGHLOWCLOSE)/3; CCI:(AVG-MA(AVG,MM))/(0.015*AVEDEV(AVG,MM)); DIF:CCI-REF(CCI,1),LINETHICK0; 前差值:ABS(REF(CCI,1…

vue3后台管理系统封装的弹窗组件

弹窗组件效果 ComModelR.vue组件 <template><div><a-modal v-model:visible"visible" :title"title" ok"handleOk" :bodyStyle"bodyStyle" :width"width" :maskClosable"false":destroyOnClose&q…

性能测试监控指标及分析调优

目录 前言&#xff1a; 一、哪些因素会成为系统的瓶颈&#xff1f; 二、哪些指标做为衡量系统的性能 1、RT 响应时间&#xff0c;包括如下 2、TPS 吞吐量 3、资源使用率 三、性能测试注意的问题 四、定位性能问题的时候&#xff0c;可以使用自下而上的策略分析排查 五…

铁电材料极化高压放大器ATA-7025技术指标及使用说明

铁电材料是一类具有特殊电学性质的材料&#xff0c;在现代电子技术和器件中具有广泛的应用。铁电材料的极化是其重要的特征之一&#xff0c;极化测试是评估铁电材料性能的关键方法之一。一般铁电极化测试&#xff0c;是通过根据外电场施加的电压变化来观察材料产生的极化效应。…

unity01 界面布局

布局 坐标系 遵循左手定则&#xff0c;中指是y轴、食指是x轴、大拇指是z轴。 可以理解为x轴代表东西方向&#xff0c;z轴代表南北方向&#xff0c;y轴代表上下方向。 常用快捷键 鼠标中键&#xff1a;移动地图 右键&#xff1a;移动视角 shift鼠标左键单击gimo导航器的小方…

一行代码解决Taro中VirtualList虚拟列表渲染抖动的问题

文章目录 引言&#xff1a;问题背景一、虚拟列表的使用场景二、解决Taro组件VirtualList的抖动问题1. VirtualList的使用方法2. 解决之法 三、扩展场景&#xff1a;关于key的其他抖动问题&#xff0c;如表格组件 引言&#xff1a;问题背景 使用Taro 提供的组件库 VirtualList …

微信合并转发的图片如何批量保存

今天遇到一个场景&#xff1a;朋友给转发来了一个合并的聊天记录&#xff0c;里面是几十张图片&#xff0c;希望能打印出来。逐张保存太费手了。下面是批量保存图片的方法&#xff1a; 1、登录PC端微信&#xff1b; 2、将要保存图片的这条合并转发的聊天记录收藏&#xff1b;…

内存参数问题导致内存溢出

问题&#xff1a;内存参数问题导致内存溢出 1、文件过大&#xff0c;进行分块 2、 运行参数&#xff0c;使用最大内存配置2时&#xff0c;导致空指针异常。 3、获取详细报错信息-内存溢出 多线程捕获Throwable异常 修改代码&#xff0c;捕获Throwable&#xff0c;获取异常 异…

Go安装环境

一、golang编译器下载 网址&#xff1a;https://golang.google.cn/dl/ 我自己是在本地测试的 就安装的是windows的 二、环境配置 编译器安装完成后&#xff0c;找到安装文件夹下的bin文件夹&#xff0c;里面含有 go.exe 可执行文件&#xff0c;将 bin 文件夹的路径添加到系统…

图像标注是什么?及其类型和应用

什么是图像标注&#xff1f; 图像标注是与您交互的许多人工智能产品的基础&#xff0c;并且是计算机视觉&#xff08;CV&#xff09;领域重要的过程之一。在图像标注过程中&#xff0c;数据标注员使用标签或元数据来标记AI模型学习识别的数据特征。然后&#xff0c;这些图像标…

C++模拟实现vector

目录 1.代码实现 2.注意事项 1.成员变量 2. 不能使用memcpy函数拷贝数据 1.用string类型测试时&#xff0c;要考虑到vs可能把数据存储在数组buffer里面 3.insert函数中指针的失效性 1.加引用&#xff0c;那么就不能传常量&#xff0c;比如v.begin() 3 2.加引用&#x…

C#委托相关知识

最开始学习C#的时候&#xff0c;简单的看过委托&#xff0c;最近工作中经常需要使用到委托。这篇笔记是对之前看过的委托的一个补充&#xff0c;也是对最近工作中遇到的委托的一个总结吧。 这里使用的是窗体程序作为例子。实例在文末&#xff0c;可下载。 委托是一个类&#xf…

【动手学深度学习】--15.含并行连结的网络GoogLeNet

文章目录 含并行连结的网络GoogLeNet1.Inception块2.GoogLeNet模型3.训练模型 含并行连结的网络GoogLeNet 学习视频&#xff1a;含并行连结的网络 GoogLeNet / Inception V3【动手学深度学习v2】 官方笔记&#xff1a;含并行连结的网络&#xff08;GoogLeNet&#xff09; 1.…

【智能交互】OPPO接入小布语音技能通关教程:个人开发者实现接口调用

目录 前言实际操作注册OPPO平台账号打开创建技能界面创建技能创建意图槽位解析对话管理对话测试接口代码编写接口创建新建意图对话管理测试猜想测试相关文档前言 适用人群:本教程适合大赛接入小布语音技能的同学以及初次使用小布助手的开发者 本篇文章是博主弄了多次测试才勉…

勒索花样繁多,“Sophos Encrypt”披马甲进行勒索攻击

近日&#xff0c;网络安全供应商Sophos发表声明&#xff0c;称Sophos被一款名为“Sophos Encrypt”新型勒索软件冒充&#xff0c;该勒索软件进行攻击时会冒用Sophos品牌名称&#xff0c;并将用户重要文件进行加密以勒索赎金。 现在的勒索软件类型多样&#xff0c;令企业防不胜防…

LeetCode·每日一题·874. 模拟行走机器人·哈希

作者&#xff1a;小迅 链接&#xff1a;https://leetcode.cn/problems/walking-robot-simulation/solutions/2350184/ha-xi-biao-zhu-shi-chao-ji-xiang-xi-by-x-20cg/ 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 著作权归作者所有。商业转载请联系作者获得授权&am…

【iPaaS干货分享】大型企业都在用的新一代SAP集成方式,你了解吗?

目录 目前企业实现SAP集成的主要方式 一、使用SAP PI/PO实现SAP与外部系统的集成 二、使用自开发方式 SAP新一代集成方式——基于iPaaS SAP连接器 一、分钟级实现SAP系统的集成 二、统一集成接口及安全管理 三、可视化编排改造SAP接口 SAP&#xff08;Systems, Applicatio…