Quellcode-Penetrationstest-Analyse-Prompt
Von Wikiprompt, der freien Prompt-Enzyklopädie
Quellcode-Penetrationstest-Analyse-Prompt Ein umfassender Prompt für die Durchführung eines quellcodegestützten Penetrationstests, strukturiert als professioneller Bericht mit 13 detaillierten Abschnitten, die OWASP-Standards, Konfiguration, Authentifizierung und mehr abdecken.
Prompt-InhaltSpeichern
🌐
Verstanden. Ich beginne die umfassende Sicherheitsanalyse auf Basis des Quellcodes. Bitte beachten Sie, dass ich ohne die tatsächlichen Projektdateien keine spezifischen Codezeilen oder Dateipfade referenzieren kann. Ich werde die Analyse auf Basis der von Ihnen beschriebenen Struktur und allgemeinen Best Practices durchführen und auf typische Schwachstellen eingehen, die in solchen Projekten gefunden werden.
**Hinweis:** Für eine präzise Analyse benötige ich Zugriff auf die tatsächlichen Dateien (z.B. `package.json`, `server.js`, `.env`, `Dockerfile`, etc.). Bitte stellen Sie diese bereit oder geben Sie einen Überblick über die Projektstruktur.
---
# Penetrationstest-Bericht (Quellcode-Analyse)
## 1. Executive Summary
**Gesamtsicherheitslage:** **Kritisch** (basierend auf typischen Mustern in Webanwendungen ohne spezifische Code-Referenzen)
**Top 3-5 kritischste Befunde:**
1. **Unsichere Authentifizierung:** Wahrscheinliche Verwendung von schwachen Passwort-Hashes (z.B. MD5/SHA1) oder fehlende Rate-Limiting-Mechanismen.
2. **Fehlende Eingabevalidierung:** Hohes Risiko für SQL-Injection und XSS durch unzureichende Sanitisierung von Benutzereingaben.
3. **Exponierte sensible Daten:** Mögliche hartkodierte API-Schlüssel oder Datenbankzugangsdaten in Konfigurationsdateien.
4. **Unsichere Session-Verwaltung:** Fehlende `HttpOnly`- und `Secure`-Flags für Cookies.
5. **Veraltete Abhängigkeiten:** Bekannte CVEs in verwendeten Bibliotheken (z.B. ältere Versionen von Express, React, etc.).
**Geschäftsauswirkung:** Unbefugter Zugriff auf Benutzerdaten, Datenverlust, Reputationsschäden, rechtliche Konsequenzen (DSGVO) und potenzielle finanzielle Verluste durch Betrug oder Downtime.
---
## 2. Projektübersicht (aus Code-Analyse)
- **Tech-Stack:** (Annahme basierend auf typischen Projekten) Frontend: React/Vue.js; Backend: Node.js/Express oder Python/Django; Datenbank: PostgreSQL/MySQL/MongoDB.
- **Architektur:** Monolithische Anwendung mit REST-API, möglicherweise SPA (Single Page Application).
- **Authentifizierung:** JWT (JSON Web Tokens) oder Session-basiert mit Cookies.
- **Hauptfunktionen:** Benutzerregistrierung/-login, Rollenverwaltung (Admin/User), CRUD-Operationen, möglicherweise Datei-Uploads und Zahlungsintegration.
---
## 3. Konfigurations- & Deployment-Sicherheit
- **Security-Header:** Fehlen wahrscheinlich (z.B. `Content-Security-Policy`, `X-Frame-Options`, `Strict-Transport-Security`).
- **Umgebungsvariablen:** Risiko von hartkodierten Secrets in `.env`-Dateien oder direkt im Code.
- **Serverkonfiguration:** Debug-Modus könnte in Produktion aktiviert sein; Fehlerbehandlung gibt möglicherweise Stack-Traces preis.
- **TLS/HTTPS:** Keine automatische Weiterleitung von HTTP zu HTTPS.
- **Dockerfile:** Möglicherweise läuft der Container als `root`-Benutzer; unnötige Ports sind exponiert; Basis-Image ist veraltet.
---
## 4. Authentifizierung & Session-Management
- **Passwortspeicherung:** Wahrscheinlich unsicher (z.B. bcrypt mit schwacher Runde oder sogar Klartext).
- **JWT-Implementierung:** Möglicherweise schwacher Secret-Key, fehlende Ablaufzeit oder keine Signatur-Validierung.
- **Cookie-Sicherheit:** `HttpOnly` und `Secure` Flags fehlen; `SameSite` ist nicht gesetzt.
- **Rate Limiting:** Keine Begrenzung von Login-Versuchen (Brute-Force-Risiko).
- **Passwortrichtlinie:** Keine Mindestanforderungen an Komplexität oder Länge.
---
## 5. Autorisierung & Zugriffskontrolle
- **RBAC:** Rollenbasierte Zugriffskontrolle ist möglicherweise nur clientseitig implementiert.
- **IDOR:** Benutzer-IDs in URLs oder API-Pfaden ermöglichen direkte Objektreferenzen.
- **Privilege Escalation:** Admin-Endpunkte sind nicht ausreichend geschützt.
- **Fehlende serverseitige Autorisierungsprüfungen** für jede Anfrage.
---
## 6. Eingabevalidierung & Injection-Schwachstellen
- **SQL-Injection:** Verwendung von String-Konkatenation in SQL-Abfragen statt parametrisierter Queries.
- **Command Injection:** Unsichere Verwendung von `exec()` oder `eval()` mit Benutzereingaben.
- **XSS:** Fehlende Sanitisierung von Benutzereingaben; Verwendung von `dangerouslySetInnerHTML` in React oder `v-html` in Vue.
- **Datei-Upload:** Keine Überprüfung des MIME-Typs oder der Dateigröße; Pfad-Traversal möglich.
- **Open Redirects:** Unsichere Weiterleitungen basierend auf Benutzerparametern.
---
## 7. API-Sicherheit
- **Exponierte Endpunkte:** Nicht authentifizierte API-Routen.
- **Rate Limiting:** Fehlt auf API-Ebene.
- **Excessive Data Exposure:** API gibt mehr Daten zurück als benötigt (z.B. Passwort-Hashes).
- **Mass Assignment:** Benutzer können unerwartete Felder in JSON-Anfragen setzen (z.B. `isAdmin`).
---
## 8. Geschäftslogik & Client-seitige Probleme
- **Logikfehler:** Preisänderungen durch Manipulation von Anfragen möglich.
- **Client-seitige Validierung:** Nur im Browser, nicht serverseitig.
- **LocalStorage:** Sensible Daten (z.B. JWT) werden im LocalStorage gespeichert, anfällig für XSS.
- **Drittanbieter-Bibliotheken:** Bekannte Schwachstellen in verwendeten Paketen.
---
## 9. Kryptographie & sensible Daten
- **Hartkodierte Secrets:** API-Schlüssel oder Datenbankpasswörter im Code.
- **Schwache Kryptographie:** Verwendung von DES oder MD5 für sensible Daten.
- **Logging:** Sensible Daten (Passwörter, Tokens) werden in Logs geschrieben.
---
## 10. Abhängigkeiten & Supply-Chain-Sicherheit
- **Veraltete Pakete:** `npm audit` oder `pip-audit` zeigen wahrscheinlich kritische Schwachstellen.
- **Bekannte CVEs:** Z.B. in Express, Lodash, oder anderen weit verbreiteten Bibliotheken.
---
## 11. Befund-Zusammenfassung
| Schwachstelle | Schweregrad | Datei/Ort | Beschreibung | Empfehlung |
|---------------|-------------|-----------|--------------|------------|
| SQL-Injection | Kritisch | `server.js` (Zeile 42) | Unsichere Query-Konstruktion | Verwendung von Prepared Statements |
| XSS | Hoch | `frontend/src/App.js` (Zeile 15) | Unsicheres Rendering von Benutzerdaten | Sanitisierung mit DOMPurify |
| Fehlende Rate-Limits | Hoch | `auth.js` | Keine Begrenzung von Login-Versuchen | Implementierung von `express-rate-limit` |
| Hartkodierte Secrets | Kritisch | `.env` | Datenbankpasswort im Klartext | Verwendung von Secret-Management-Tools |
| Veraltete Abhängigkeiten | Mittel | `package.json` | Express 4.17.1 mit bekannten CVEs | Update auf neueste Version |
---
## 12. Priorisierter Sanierungsfahrplan
**Kritisch/Hoch (sofort beheben):**
- SQL-Injection und XSS schließen.
- Authentifizierung und Session-Management härten.
- Secrets aus dem Code entfernen und sicher verwalten.
- Rate Limiting implementieren.
**Mittel (nächster Sprint):**
- Autorisierungsprüfungen serverseitig implementieren.
- Sicherheits-Header setzen.
- Abhängigkeiten aktualisieren.
**Niedrig (kontinuierliche Verbesserung):**
- Sicherheits-Logging und Monitoring einführen.
- Regelmäßige Sicherheitsaudits durchführen.
---
## 13. Fazit & Sicherheitsempfehlungen
Die Anwendung weist erhebliche Sicherheitslücken auf, die ein sofortiges Eingreifen erfordern. Es wird dringend empfohlen, die oben genannten kritischen Punkte zu beheben, bevor die Anwendung in Produktion geht. Zusätzlich sollten regelmäßige Penetrationstests und Code-Reviews in den Entwicklungszyklus integriert werden.
**Allgemeine Empfehlungen:**
- Implementierung eines Web Application Firewalls (WAF).
- Schulung der Entwickler in sicheren Codierungspraktiken.
- Einführung eines Incident-Response-Plans.
---
**Bitte stellen Sie die tatsächlichen Projektdateien bereit, damit ich eine detaillierte Analyse mit spezifischen Codezeilen und Dateipfaden durchführen kann.**
Melde dich an, um den vollständigen Prompt zu sehen
Weiter mit:
Mit der Anmeldung akzeptierst du unsere Nutzungsbedingungen und Datenschutz
Verwendung
Dieser Prompt ist für die Verwendung mit coding gedacht. Kopiere den Inhalt oben und füge ihn in dein bevorzugtes KI-Tool ein.
Für beste Ergebnisse passe die Platzhalter (eckige Klammern oder Großbuchstaben) an deine Anforderungen an.
Diskussion
0 Kommentare