- 1 Section
- 10 Lessons
- unbegrenzt
Expand all sectionsCollapse all sections
- Sichere Softwareentwicklung (Secure Coding)10
Aufgaben Secure Coding
Fünf Aufgaben im IHK-Stil zu den Themen dieses Kurses: OWASP-Kategorie zuordnen, Angriffstypen identifizieren, fehlerhaften Code korrigieren, Secure-Coding-Maßnahmen sortieren und Security-Header benennen.
0 von 5 Aufgaben abgeschlossen
Aufgabe 1 · Multiple Choice (1 richtige Antwort) · OWASP Top 10
OWASP-Schwachstelle einordnen
Eine Webanwendung speichert Passwörter als einfache MD5-Hashes ohne Salt. Welcher OWASP-Top-10-Kategorie (2021) ist diese Schwachstelle primär zuzuordnen?
A) A01 – Broken Access Control
B) A02 – Cryptographic Failures
C) A03 – Injection
D) A07 – Identification and Authentication Failures
Aufgabe 2 · Zuordnung · Angriffstypen
Angriffsszenarien den richtigen Kategorien zuordnen
Klicke zuerst ein Szenario links an, dann den passenden Angriffstyp rechts.
Szenario
Ein Nutzer schreibt
<script>alert(document.cookie)</script> in ein Kommentarfeld. Jeder der den Kommentar liest, verliert seinen Session-Cookie.Im Login-Formular wird als Benutzername
' OR '1'='1 eingegeben. Die Passwortabfrage wird komplett umgangen.Ein eingeloggter Nutzer besucht eine fremde Seite. Im Hintergrund wird automatisch eine Überweisung auf seiner Bank ausgeführt.
Angriffstyp
Stored XSS
SQL-Injection
CSRF
Aufgabe 3 · Code-Analyse · SQL-Injection beheben
Verwundbaren Code identifizieren und korrigieren
Der folgende PHP-Code ist anfällig für SQL-Injection (unterstrichene Stellen). Welche der vier Optionen behebt die Schwachstelle korrekt?
// PHP – Login-Funktion
function checkLogin($username, $password) {
$sql = "SELECT * FROM users WHERE username='"
. $username . "' AND password='"
. $password . "'";
$result = $db->query($sql);
return $result->rowCount() > 0;
}
function checkLogin($username, $password) {
$sql = "SELECT * FROM users WHERE username='"
. $username . "' AND password='"
. $password . "'";
$result = $db->query($sql);
return $result->rowCount() > 0;
}
A) Eingaben mit
htmlspecialchars() escapen:$username = htmlspecialchars($username);B) Prepared Statement mit PDO verwenden:
$stmt = $db->prepare("SELECT * FROM users WHERE username=? AND password=?");
$stmt->execute([$username, $password]);C) Sonderzeichen aus Eingabe entfernen:
$username = str_replace(["'",'"',";"], "", $username);D) Eingabelänge begrenzen:
$username = substr($username, 0, 50);Aufgabe 4 · Sortierung · Secure Development Lifecycle
Sicherheitsmaßnahmen im Entwicklungsprozess einordnen
Bringe die folgenden Sicherheitsmaßnahmen in die richtige chronologische Reihenfolge – von der Planungsphase bis zum laufenden Betrieb.
⠿Dynamischer Sicherheitstest (DAST) mit OWASP ZAP vor dem Release
⠿Threat Modeling: Angriffsvektoren in der Architektur identifizieren
⠿Security-Header und CSP im Webserver konfigurieren (Betrieb)
⠿Security Requirements definieren (z.B. OWASP ASVS)
⠿Statische Code-Analyse (SAST) + npm audit in der CI/CD-Pipeline
Aufgabe 5 · Multiple Choice (2 richtige Antworten) · Security Headers
Passende Security-Header auswählen
Ein Entwickler möchte zwei Angriffe gleichzeitig abwehren: Clickjacking (Einbetten der Seite in einen fremden iFrame) und das Downgraden von HTTPS auf HTTP durch einen Man-in-the-Middle. Welche zwei HTTP-Header lösen diese Probleme?
A)
X-Content-Type-Options: nosniffB)
X-Frame-Options: DENYC)
Strict-Transport-Security: max-age=31536000D)
Referrer-Policy: no-referrer
Weitere Prüfungsvorbereitung:
IHK-Aufgaben IT-Sicherheit ·
IHK-Aufgaben Berechtigungskonzepte
Dependency Management & Supply Chain Security
Vorheriges
