diff --git a/templates/bonus.html b/templates/bonus.html index 94a843b..4fb6061 100644 --- a/templates/bonus.html +++ b/templates/bonus.html @@ -7,7 +7,7 @@
Geef een beveiligingsprobleem aan met deze website (source)
0 punten (je naam vereeuwigd op deze website als hacker)
- +
Het daadwerkelijk uitvoeren van dergelijke hacks voor eigen gewin of verstoren van de functionaliteit van de website is niet toegestaan!
diff --git a/templates/path.html b/templates/path.html index f0d0614..54cf1bd 100644 --- a/templates/path.html +++ b/templates/path.html @@ -19,13 +19,13 @@
Wat staat er in /etc/geheim.txt? (Het is een supersecret TODO item)
0 punten
- +
Plak het script dat je hebt gebruikt
0 punten
- +
@@ -38,7 +38,7 @@
Met welke URL kan je nu rechtstreeks de inhoud van /etc/geheim.txt uitlezen?
0 punten
- +

Verander image.php in image_check_prefix.php (source) . In dit bestand is een extra beveiliging die checkt of het pad begint met de map 'uploads'

@@ -46,7 +46,7 @@
Met welke URL kan je met dit meer 'beveiligde' script de inhoud van /etc/geheim.txt uitlezen?
0 punten
- +

Verander de bestandsnaam in image_remove_traversal.php (source) , dit script heeft nu een beveiliging die alle '../' uit de string verwijderd zodat je niet meer ../ in de URL kan gebruiken.

@@ -56,7 +56,7 @@
Met welke URL kan je via het image_remove_traversal.php script de inhoud van /etc/geheim.txt uitlezen?
0 punten
- +

Zoek op internet naar 'Directory traversal' en zoek uit wat voor technieken er nog meer mogelijk zijn.

@@ -64,7 +64,7 @@
Beschrijf hoe jij de site zou programmeren zodat alle directory traversal aanvallen niet meer mogelijk zijn.
0 punten
- +
@@ -80,7 +80,7 @@
Beschrijf hoe je met deze site de inhoud van /etc/geheim.txt kan achterhalen
0 punten
- +
{% endblock %} \ No newline at end of file diff --git a/templates/points.html b/templates/points.html new file mode 100644 index 0000000..d0b1403 --- /dev/null +++ b/templates/points.html @@ -0,0 +1,7 @@ +
+ {% if points != None %} + {{ points }} van de {{ max }} punten + {% else %} + {{ max }} punten + {% endif %} +
\ No newline at end of file diff --git a/templates/sql.html b/templates/sql.html index 46c92c7..f969dad 100644 --- a/templates/sql.html +++ b/templates/sql.html @@ -102,38 +102,38 @@
Hoeveel geld heeft Alice op haar rekening staan? -
5 punten
- + {% include "points.html" with points=answers.answer_sql_money_alice.points max="5" %} +
Wat heb je als gebruikersnaam ingevuld om zonder wachtwoord in te loggen als Alice? -
10 punten
- + {% include "points.html" with points=answers.answer_sql_username_alice.points max="10" %} +

Waarschijnlijk heb je SQL commentaar (--) gebruikt in de vorige opdracht. Voer nu een andere SQL injectie uit door alleen het wachtwoord veld te gebruiken. Gebruik niet de SQL commentaar techniek maar verander nu de logica van de query (AND, OR) zodat er niet meer gecontroleerd wordt op het wachtwoord.

Met welk 'wachtwoord' lukt het altijd om in te loggen? (gebruikersnaam moet je leeglaten) -
10 punten
- + {% include "points.html" with points=answers.answer_sql_always_password.points max="10" %} +

Hint: Maak er een query van die alle gebruikers teruggeeft, de site logt dan in als de eerste gebruiker. Het maakt voor de opdracht niet uit als wie je inlogt.

Bekijk de PHP broncode en los het probleem op. Type de regels code die je verbeterd hebt in onderstaand tekstveld. (denk terug aan je mysql WEBS2 practicum) -
15 punten
- + {% include "points.html" with points=answers.answer_sql_fix_query.points max="15" %} +

Open de "Bank (multi_query)" pagina. Op deze pagina werken ook SQL Injection technieken die gebruik maken van meerdere queries (queries gescheiden door een ; ).

Met welke "gebruikersnaam" kan je (alleen) Bob miljonair maken? (Het saldo staat in een kolom "balans") -
10 punten
- + {% include "points.html" with points=answers.answer_sql_bob_millionaire.points max="10" %} +
@@ -156,20 +156,20 @@
Wat zijn de gebruikersnamen en wachtwoorden van de 4 gebruikers in de database? (de id's van de gebruikers zijn 1,2,3 en 4) -
5 punten
- + {% include "points.html" with points=answers.answer_sql_usernames_passwords_webshop.points max="5" %} +
Met welke URL heb je het wachtwoord van Marco achterhaald? -
10 punten
- + {% include "points.html" with points=answers.answer_sql_url_marco_password.points max="10" %} +
Bekijk de broncode en verbeter deze zodat je geen SQL injection meer kan gebruiken. -
15 punten
- + {% include "points.html" with points=answers.answer_sql_fix_injection_webshop.points max="15" %} +

Open de pagina "Webshop (replace)". De maker van deze website heeft extra maatregelen genomen en woorden als SELECT en UNION uit de invoer gefilterd.

@@ -178,8 +178,8 @@
Met welke URL kan je nu het wachtwoord van Marco achterhalen? -
5 punten
- + {% include "points.html" with points=answers.answer_sql_url_marco_replace_password.points max="5" %} +

Wereldwijs

@@ -190,14 +190,14 @@
Wat is het onderwerp van de geheime pagina? -
5 punten
- + {% include "points.html" with points=answers.answer_sql_wereldwijs_title.points max="5" %} +
Met welke URL heb je de website de geheime pagina laten tonen? -
10 punten
- + {% include "points.html" with points=answers.answer_sql_wereldwijs_url.points max="10" %} +
{% endblock %} diff --git a/templates/wachtwoorden.html b/templates/wachtwoorden.html index 53b5085..693eace 100644 --- a/templates/wachtwoorden.html +++ b/templates/wachtwoorden.html @@ -33,14 +33,14 @@
Je hebt uit een database het volgende gehashte wachtwoord gehaald: d59084b66e167f13bef93b1a5d07acd2 Welk wachtwoord had deze gebruiker? -
5 punten
- + {% include "points.html" with points=answers.answer_password_crack.points max="5" %} +
Hoe had de programmeur kunnen voorkomen dat jij achter het wachtwoord kon komen? -
15 punten
- + {% include "points.html" with points=answers.answer_password_crack_prevent.points max="15" %} +

Nieuws

@@ -56,14 +56,14 @@
Wat is het wachtwoord van Pete? -
5 punten
- + {% include "points.html" with points=answers.answer_password_pete.points max="5" %} +
Hoe had de programmeur kunnen voorkomen dat een hacker kon zien dat al deze gebruikers hetzelfde wachtwoord hebben? -
15 punten
- + {% include "points.html" with points=answers.answer_password_brute_force_prevent.points max="15" %} +

Na een hoop manuren werk heeft Nieuws.nl hun huiswerk gedaan en slaan ze dit keer wachtwoorden op een echt veilige manier op. Niemand die dit keer de site kan kraken! Eindelijk kunnen mensen weer inloggen en gebruik maken van hun account, de site wordt feestelijk weer geopend.

@@ -82,8 +82,8 @@
Welke fout hebben de programmeurs van Nieuws.nl gemaakt? Beschrijf kort hoe je de site kan programmeren om deze aanval te voorkomen. -
10 punten
- + {% include "points.html" with points=answers.answer_password_brute_force_login.points max="10" %} +
@@ -96,8 +96,8 @@
Copy-paste het stukje PHP code waarmee je wachtwoorden opslaat en leg uit welke technieken je hebt gebruikt om dit veilig te doen. -
15 punten
- + {% include "points.html" with points=answers.answer_password_project.points max="15" %} +