diff --git a/templates/base.html b/templates/base.html index bd09523..cef19dd 100644 --- a/templates/base.html +++ b/templates/base.html @@ -19,6 +19,7 @@ Uitloggen diff --git a/templates/path.html b/templates/path.html new file mode 100644 index 0000000..44d5cd8 --- /dev/null +++ b/templates/path.html @@ -0,0 +1,70 @@ +{% extends "base.html" %} + +{% block content %} + +

Insecure Direct Object References

+

Image site

+

Ons nieuwe doelwit is de site "imgr", een populaire website waar vaak meme plaatjes naar worden geupload. Er is geen database dus we kunnen geen SQL injection uitvoeren, en cross-site scripting is ook geen mogelijkheid meer op deze site (...toch?).

+ +

We zijn geïnteresseerd in de inhoud van een bestandje wat staat in de VM: "/etc/geheim.txt". Hack de website en vind uit wat de inhoud van dit bestandje is.

+ +

Hint: het lijkt er op dat je niet alleen plaatjes kan uploaden...

+ +

Hint: Zoek een manier om een eigen php script te uploaden

+ +
+ Wat staat er in /etc/geheim.txt? +
5 punten
+ +
+ +
+ Plak het script dat je hebt gebruikt +
10 punten
+ +
+ + + +

Image site 2

+

Ga naar image site 2. De site heeft het probleem opgelost door de bestanden niet meer naar een publieke map te schrijven.

+ +
+ Met welke URL kan je nu rechtstreeks de inhoud van /etc/geheim.txt uitlezen? +
10 punten
+ +
+ +

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

+ +
+ Met welke URL kan je met dit meer 'beveiligde' script de inhoud van /etc/geheim.txt uitlezen? +
10 punten
+ +
+ +

Verander de bestandsnaam in image_remove_traversal.php, dit script heeft nu een beveiliging die alle '../' uit de string verwijderd.

+ +
+ Met welke URL kan je met het image_remove_traversal.php script de inhoud van /etc/geheim.txt uitlezen? +
10 punten
+ +
+ +
+ Verbeter het image.php script zodat dit soort aanvallen niet meer mogelijk zijn +
15 punten
+ +
+ +

Image site 3

+ +

Ga naar image site 3. imgr heeft hun site uitgebreid met extra pagina's. De afbeeldingen hebben ze maar weggehaald omdat er teveel security problemen mee waren.

+ +
+ Beschrijf hoe je met deze site de inhoud van /etc/geheim.txt kan achterhalen +
15 punten
+ +
+ +{% endblock %} \ No newline at end of file diff --git a/views.py b/views.py index a4f4cba..3d43189 100644 --- a/views.py +++ b/views.py @@ -98,6 +98,8 @@ def home(request, url): template = 'sql.html' elif url == 'xss': template = 'xss.html' + elif url == 'path': + template = 'path.html' else: return HttpResponseNotFound('404')