Web Server — Angriff & Verteidigung.
Angriffsketten pro Server-Klasse mit zugehörigen Härtungsmaßnahmen — Apache, nginx, IIS, Tomcat, JBoss — und der Entscheidungsbaum vom ersten 200 OK bis zum authentifizierten Kontext.
Apache HTTPD
- Angriff.
.htaccess-Missbrauch wo AllowOverride SetHandler erlaubt — PHP-Handler in beschreibbaren Upload-Ordner droppen für sofortige RCE.mod_cgi+ CVE-2021-41773 Path-Traversal noch auf Nachzüglern erreichbar.mod_statusunter/server-statusleakt Live-Request-URIs inklusive Auth-Tokens. - Verteidigung. Global
AllowOverride None. mod_status deaktivieren oder auf Loopback beschränken. Über 2.4.50 patchen undDirectory-Aliasse auf Traversal-Escape auditieren.
nginx
- Angriff. Off-by-Slash-Misconfig:
location /api { proxy_pass http://backend; }mit Request/api../adminnormalisiert server-seitig. Header-Injection viaproxy_set_header X-Real-IP $http_x_forwarded_for. Lua-Modul-Sandbox-Escape auf altem OpenResty. - Verteidigung. Trailing-Slash-Disziplin:
location /api/ { proxy_pass http://backend/; }.$http_*-Header strippen, denen das Backend traut. OpenResty pinnen wenn genutzt; CVE-Feed separat vom nginx-Core verfolgen.
IIS / ASP.NET
- Angriff. WebDAV PUT in beschreibbares Virtual-Dir;
.config-Overwrite zum Handler-Swap. Unicode-Normalisierung (%c0%af) für Traversal auf Legacy-Installationen. ViewState-Deserialisierung wo machineKey geleakt oder Default ist. - Verteidigung. WebDAV deaktivieren wenn nicht benötigt, Verben einschränken.
requestFilteringauf Block von..-Sequenzen.machineKeyrotieren, validation-/decryption-Keys nicht default.
Tomcat / JBoss / WildFly
- Angriff.
/manager/htmlmit Default-Creds (tomcat:tomcat,admin:admin) → WAR-Deploy → JSP-Shell. JMX-Console / Admin-Console auf JBoss-Legacy → Invoker-Servlet → Deserialisierung. RMI-Port 1099 noch extern exponiert in Misconfig-Deploys. - Verteidigung. Manager-/Admin-Apps aus Produktions-Builds entfernen. Falls nötig, auf Loopback binden und nach IP + starken Creds einschränken. JMX-Remote deaktivieren wenn nicht explizit benötigt; niemals auf öffentlichem Interface.
Entscheidungsbaum ab erstem 200 OK
- Tech identifiziert? Wenn ja → Banner→CVE-Liste konsultieren. Wenn nein → weiter fingerprinten (Favicon, Error-Pages, Verhaltensproben).
- Auth-Oberfläche sichtbar? Login-Form, Basic Auth, NTLM → bekannte schwache Credentials sprayen (
kerbrute,hydra) innerhalb der Lockout-Policy. - Admin-Panel erreichbar? Default-Creds zuerst, dann bekannte CVE für das Panel, dann Password-Recovery-Logikfehler.
- Keine Auth, statisch-artige App? Directory-Fuzz (
ffuf -w raft-large -e .bak,.old,.zip,.txt) für Backup-Files, Source-Leaks, Config-Dumps. - API-Endpunkt? Suche nach
/api/v1,/api/v2,/swagger,/openapi.json,/graphql+ Introspection. Mass-Assignment, IDOR, JWT-Confusion testen.
FaustregelManagement-Interfaces (Tomcat Manager, JBoss Admin, Confluence Admin) niemals auf öffentlichem Interface deployen, unabhängig von der Passwortstärke. Netzwerk-Restriktion schlägt ganze Angriffsklassen, die Passwort-Rotation nicht schafft.
Verwandte Notizen in dieser Domain
- Featured Umfassende Pentest-Referenz
- Featured Pentest-Methodik — kanonische Referenz
- Featured Advanced Pentest & Red Team
- Featured Recon & Discovery
- Featured Active Directory Pentest
- Featured Internal Pivoting & Lateral Movement
- Referenz Recon-Tooling — Operator-Referenz
- Referenz Operator-Toolkits — Katalog & Referenz
- Referenz Automatisierung vs. manuelles Testing
- Background Social Engineering & Phishing
- Background Pentester-Grundlagen & CTF-Praxis
Von der Referenz zum Befund