_CORE
AI & Agentic Systems Core Information Systems Cloud & Platform Engineering Data Platform & Integration Security & Compliance QA, Testing & Observability IoT, Automation & Robotics Mobile & Digital Banking & Finance Insurance Public Administration Defense & Security Healthcare Energy & Utilities Telco & Media Manufacturing Logistics & E-commerce Retail & Loyalty
References Technologies Blog Know-how Tools
About Collaboration Careers
CS EN
Let's talk

OWASP Top 10: Injection

12. 08. 2025 1 min read intermediate

Injection útoky patří mezi nejstarší a nejnebezpečnější zranitelnosti. Útočník vkládá škodlivý kód do vstupních dat, který aplikace vykoná.

Types injection

  • SQL injection: Vložení SQL kódu do dotazu
  • NoSQL injection: Manipulace MongoDB dotazů
  • OS command injection: Spuštění systémových příkazů
  • LDAP injection: Manipulace LDAP dotazů

SQL Injection — příklad

❌ ŠPATNĚ

query = f”SELECT * FROM users WHERE username = ‘{username}’“

Útočník: username = admin’ –

✅ SPRÁVNĚ — parametrizovaný dotaz

cursor.execute(“SELECT * FROM users WHERE username = %s”, (username,))

NoSQL Injection

// ❌ ŠPATNĚ — MongoDB db.users.find({ username: req.body.username, password: req.body.password }); // Útočník: { “password”: { “$ne”: “” } } // ✅ SPRÁVNĚ const username = String(req.body.username);

OS Command Injection

❌ ŠPATNĚ

os.system(f”ping {user_input}”)

✅ SPRÁVNĚ

import subprocess subprocess.run([“ping”, “-c”, “4”, validated_ip], capture_output=True)

Prevence

  1. Parametrizované dotazy (prepared statements)
  2. Validujte vstupy (whitelist > blacklist)
  3. ORM (SQLAlchemy, Prisma, Entity Framework)
  4. Least privilege DB účty
  5. WAF + SAST v CI/CD

Key Takeaway

Nikdy nevkládejte uživatelský vstup přímo do dotazů. Parametrizované dotazy a ORM jsou hlavní obrana.

owaspsecurityinjectionsql
Share:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.