To σενάριο του 17ου Challenge του Mozilla CTF ανέφερε :
“Exploit Mozillas IP Panel! This IP Panel is used for whitelisting IP addresses. We know that the webinterface will call a bash script that will execute an iptables command without validation. Find the flag somewhere in /home/ippanel/ and submit it!
Update:
The files are not actually in the home directory. Look somewhere else. Sorry!”
Το σενάριο μας επισημαίνει ότι η σελίδα καλεί κάποιο βάση scrtipt το οποίο και εκτελεί ένα iptables command αλλά χωρίς κάποιο input validation.
Έτσι, αφού σκεφτούμε λίγο η περίπτωση αυτή μας θυμίζει command injection vulnerability δηλαδή, θα προσπαθήσουνε να εκτελέσουμε system commands στο σύστημα που τρέχει την ευπαθή εφαρμογή.
Έτσι μετά από μερικές αποτυχημένες απόπειρες (&, &&, ;, κτλ) δοκιμάζουμε να εισάγουμε, να εισάγουμε ένα “|” και μια εντολή στη συνέχεια:
| uname -a
Βλέπουμε ότι επιτυχώς καταφέραμε να εκτελέσουμε την εντολή “uname -a” πάνω στο server και να μας επιστρέψει τις σχετικές πληροφορίες:
FreeBSD ippanel 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Wed Jul 13 22:28:55 UTC 2011 root@ip-10-17-40-254:/usr/obj/usr/src/sys/XENHVM amd64
Στη συνέχεια, δοκιμάζουμε να εκτελέσουμε την εντολή “ls -la”, αλλά δυστυχώς τα πραγματα δεν ήρθαν όπως τα περιμέναμε:
total 14
Με βάση το αποτέλεσμα της εκτέλεσης της εντολής, αντιλαμβανόμαστε ότι μας επέστρεψε μόνο η πρώτη γραμμή. Έτσι δοκιμάζουμε να δούμε μονο τα .txt αρχεία, πιθανολογώντας ότι το flag θα είναι αποθηκευμένο σε μορφή txt.
| ls *.txt
th15-15_th3_fl4g.txt
Bingo! Βρήκαμε το flag (th15-15_th3_fl4g.txt). Ας τo διαβάσουμε :
| cat th15-15_th3_fl4g.txt
i1gALKeMunqCcyeVMud7TCbI
Έτσι, καταφέραμε να πάρουμε το flag (και τους 250 points).
Dorothea
October 31, 2012 at 11:41 pm
Every weekend i used to pay a quick visit this web page,
for the reason that i wish for enjoyment, since this this
website conations really nice funny stuff too.