> For the complete documentation index, see [llms.txt](https://n4shx.gitbook.io/wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://n4shx.gitbook.io/wiki/schule/allgemeines/security-concepts.md).

# Security Concepts

Diese Konzepte helfen dir, Schwachstellen besser zu verstehen und systematisch zu testen.

***

### OWASP Top 10

Die OWASP Top 10 ist eine Liste der häufigsten und kritischsten Web-Schwachstellen.

Sie dient als Standard für:

* Entwickler
* Pentester
* Security Teams

Typische Beispiele:

* Injection (z.B. SQL Injection)
* Broken Authentication
* Cross-Site Scripting (XSS)
* Security Misconfiguration

👉 Wichtig: Viele Labs (DVWA, Mutillidae) basieren direkt auf diesen Schwachstellen.

👉 Referenz: <https://owasp.org/www-project-top-ten/>

***

### Secure Headers

HTTP Security Header schützen Webanwendungen auf Browser-Ebene.

***

#### Content Security Policy (CSP)

CSP definiert, welche Inhalte geladen werden dürfen.

Ziel:

* Verhindern von XSS
* Einschränkung von Scripts

Beispiel:

```
Content-Security-Policy: default-src 'self'
```

👉 Effekt:\
Nur eigene Inhalte dürfen geladen werden

***

#### HTTP Strict Transport Security (HSTS)

HSTS zwingt den Browser, nur HTTPS zu verwenden.

Ziel:

* Schutz vor Man-in-the-Middle
* keine unsicheren HTTP-Verbindungen

Beispiel:

```
Strict-Transport-Security: max-age=31536000
```

***

### Testing Methodik

Der OWASP Testing Guide beschreibt einen strukturierten Ablauf.

Typischer Flow:

```
1. Information Gathering
2. Testing
3. Exploitation
```

***

#### Information Gathering

* Zielsystem verstehen
* Technologien erkennen
* Angriffsflächen finden

Beispiele:

* nmap
* Web Enumeration

***

#### Testing

* gezielt Inputs testen
* Schwachstellen identifizieren

Beispiele:

* XSS testen
* SQL Injection testen
* File Upload prüfen

***

#### Exploitation

* Schwachstelle aktiv ausnutzen
* Zugriff erweitern

Beispiele:

* Login Bypass
* Webshell Upload

***

### Merksatz

Security Testing ist kein Zufall, sondern folgt einem klaren Prozess:

```
Verstehen → Testen → Ausnutzen
```
