@@ -44,3 +44,38 @@ To delete a person you must first login by `POST`ing to the `api/auth` route:
```
You will receive a token which you will need to copy. Then you can use the `DELETE``/api/persons/:id` route.
## OWASP Standard
Die vorgegebene API wird mithilfe des Open Web Application Security Project auch OWASP Standards analysiert. Der OWASP Standard hilft bei der Entwicklung von vertraubaren APIs.
Die bevorstehende API wurde mit Node.js und Express.js geschrieben. Die API verbindet sich mit einer kleinen MySQL Datenbank.
### A01:2021 – Broken Access Control
Dieser Standard wurde gebrochen. Da Nutzer Zugriff auf die Löschfunktion haben, nicht nur für Ihre eigenen Kontos sondern auch für die Kontos von anderen Nutzern. Dies ist möglich solange ein Nutzer eingeloggt ist.
### A02:2021 – Cryptographic Failures
Standard ist auch gebrochen, da die API Daten als Klartext schickt und erhält.
### A03:2021 – Injection
Die API ist nicht anfällig was SQL Injections angeht, da Prepared Statements verwendet wurden. Die vor SQL Injections versichern.
### A04:2021 – Insecure Design
Siehe A02 und A01
### A05:2021 – Security Misconfiguration
Trifft eher nicht zu wegen dem kleinen Scope der API und die korrekt Verwendung von JWT Token.
### A06:2021 – Vulnerable and Outdated Components
Die API läuft auf dem neusten Stand und verwendet die aktuellsten Versionen von den Frameworks.
### A07:2021 – Identification and Authentication Failures
Die API verhindert keine Brute Force Attacken und hat keine Rate Limits für die Aufrufe der Verfikationsroute. Die API erlaubt die Nutzung von schwachen Passwörtern, es gibt keinen Check der dies verhindert.
### A08:2021 – Software and Data Integrity Failures
Die API verwendet keine Third Party Resourcen bzw. CDNs also gibt es kein Verstoß gegen diesem Standard. Die API muss nichts verfizieren.
### A09:2021 – Security Logging and Monitoring Failures
Die API hat keine Art von Logging bzw. es werden keine Log Daten erstellt. Egal ob für erfolgreiche oder Fehlgeschlagenen Transaktionen.
### A10:2021 – Server-Side Request Forgery (SSRF)
Könnte verletzt werden, da es keine Firewall gibt für die API. Es gibt auch keine Redirects in der API und die API läuft nur auf einem System.