You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/pentesting-web/file-upload/README.md
+28Lines changed: 28 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -301,6 +301,33 @@ Mitigations
301
301
- Canonicalize and enforce that the resolved path stays within an allow-listed base directory.
302
302
- Store uploads on a non-executable volume and deny script execution from writable paths.
303
303
304
+
### Axis2 SOAP uploadFile traversal to Tomcat webroot (JSP drop)
305
+
306
+
Axis2-based upload services sometimes expose an `uploadFile` SOAP action that takes three attacker-controlled fields: `jobDirectory` (destination directory), `archiveName` (filename), and `dataHandler` (base64 file content). If `jobDirectory` is not canonicalized, you get arbitrary file write via path traversal and can land a JSP in Tomcat’s webapps.
307
+
308
+
Minimal request outline (default creds often work: `admin` / `trubiquity`):
- Bindings are often localhost-only; pair with a full-read SSRF (absolute-URL request line, Host header ignored) to reach `127.0.0.1` if the Axis2 port isn’t exposed.
329
+
- After writing, browse to `/trufusionPortal/jsp/shell.jsp?cmd=id` to execute.
330
+
304
331
## Tools
305
332
306
333
-[Upload Bypass](https://github.com/sAjibuu/Upload_Bypass) is a powerful tool designed to assist Pentesters and Bug Hunters in testing file upload mechanisms. It leverages various bug bounty techniques to simplify the process of identifying and exploiting vulnerabilities, ensuring thorough assessments of web applications.
@@ -570,5 +597,6 @@ Backend copies `file.filepath`, so the response returns that path’s content. C
570
597
-[HTB: Media — WMP NTLM leak → NTFS junction to webroot RCE → FullPowers + GodPotato to SYSTEM](https://0xdf.gitlab.io/2025/09/04/htb-media.html)
-[0xdf – HTB: Certificate (ZIP NUL-name and stacked ZIP parser confusion → PHP RCE)](https://0xdf.gitlab.io/2025/10/04/htb-certificate.html)
600
+
-[When Audits Fail: From Pre-Auth SSRF to RCE in TRUfusion Enterprise](https://www.rcesecurity.com/2026/02/when-audits-fail-from-pre-auth-ssrf-to-rce-in-trufusion-enterprise/)
Copy file name to clipboardExpand all lines: src/pentesting-web/ssrf-server-side-request-forgery/README.md
+21Lines changed: 21 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -309,6 +309,26 @@ Host: target.com
309
309
Connection: close
310
310
```
311
311
312
+
### Reverse proxies that accept absolute URLs in the request line (open forward-proxy)
313
+
314
+
Some reverse proxies also accept **absolute-form request lines** (`GET http://10.0.0.5:8080/path HTTP/1.1`) and forward the URL as-is to a backend instead of rejecting it or rewriting it to the configured upstream. This turns the reverse proxy into a **pre-auth forward proxy with full-read SSRF**, including access to `localhost`-bound services that would normally be unreachable from the Internet.
315
+
316
+
Key points:
317
+
-**Request line controls destination**: the authority in the absolute URL overrides normal routing; the `Host` header is usually ignored.
318
+
-**Full response returned**: responses from internal hosts are streamed back, so you can enumerate and interact (e.g., SOAP/Axis2, Keycloak, admin consoles) rather than blind-probing.
319
+
-**Works on localhost**: `GET http://127.0.0.1:port/ HTTP/1.1\r\nHost: public-host\r\n\r\n` is enough to hit loopback-only listeners.
320
+
-**Abuse as pivot**: combine with other vulns (e.g., upload endpoints) to reach intra-host services.
321
+
322
+
Minimal probe:
323
+
324
+
```http
325
+
GET http://127.0.0.1:8080/ HTTP/1.1
326
+
Host: whatever
327
+
Connection: close
328
+
```
329
+
330
+
If you see the upstream response instead of a 400, the appliance is acting as an open proxy.
331
+
312
332
## DNS Rebidding CORS/SOP bypass
313
333
314
334
If you are having **problems** to **exfiltrate content from a local IP** because of **CORS/SOP**, **DNS Rebidding** can be used to bypass that limitation:
-[Positive Technologies – Blind Trust: What Is Hidden Behind the Process of Creating Your PDF File?](https://swarm.ptsecurity.com/blind-trust-what-is-hidden-behind-the-process-of-creating-your-pdf-file/)
472
492
-[Tenable – SSRF Vulnerability in Java TLS Handshakes That Creates DoS Risk](https://www.tenable.com/blog/tenable-discovers-ssrf-vulnerability-in-java-tls-handshakes-that-creates-dos-risk)
473
493
-[RFC 5280 §4.2.2.1 Authority Information Access](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.2.1)
494
+
-[When Audits Fail: From Pre-Auth SSRF to RCE in TRUfusion Enterprise](https://www.rcesecurity.com/2026/02/when-audits-fail-from-pre-auth-ssrf-to-rce-in-trufusion-enterprise/)
0 commit comments