20.12.2013 Aufrufe

Sicherheit von SAP in Bezug auf neue Technologien

Sicherheit von SAP in Bezug auf neue Technologien

Sicherheit von SAP in Bezug auf neue Technologien

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Sicherheit</strong> <strong>von</strong> <strong>SAP</strong> <strong>in</strong> <strong>Bezug</strong> <strong>auf</strong> <strong>neue</strong> <strong>Technologien</strong><br />

Veränderungen der Antworten der Applikation, z.B. allgeme<strong>in</strong> gehaltene<br />

Fehlerseiten, erarbeiten um die Lücke auch tatsächlich ausnutzen zu<br />

können und um die Befehle e<strong>in</strong>zuschleußen.<br />

Weitgehend unbekannt ist die Tatsache, dass SQL-Injection nicht nur über<br />

die Manipulation <strong>von</strong> Benutzere<strong>in</strong>gaben für Parameter möglich ist. Es s<strong>in</strong>d<br />

grundsätzlich alle Daten betroffen, die für e<strong>in</strong>en SQL-Befehl verwendet<br />

werden, auch z.B. HTTP Header.<br />

Verh<strong>in</strong>dern lässt sich SQL-Injection h<strong>in</strong>gegen sehr e<strong>in</strong>fach durch die<br />

Verwendung <strong>von</strong> prepared Statements.<br />

Command-Injection<br />

Die Ursache für Command-Injection ist der für SQL-Injection recht ähnlich.<br />

Hier ist die Benutzere<strong>in</strong>gabe aber nicht Teil e<strong>in</strong>es SQL-Befehls, sondern<br />

e<strong>in</strong>es Kommandos, z.B. e<strong>in</strong> Kommando des darunter liegenden<br />

Betriebssystems. Wie bei SQL-Injection geschieht dies durch Verändern<br />

oder Erweitern der erwarteten Benutzere<strong>in</strong>gabe. Ist z.B. die E<strong>in</strong>gabe e<strong>in</strong>er<br />

Pipe ( | ) bei e<strong>in</strong>er Perl-basierter Applikation erlaubt, kann dies dazu<br />

führen, dass die beabsichtigte E<strong>in</strong>gabe so verändert wird, dass e<strong>in</strong><br />

Angreifer die E<strong>in</strong>gabe um eigene Befehle erweitern kann 17 :<br />

Beabsichtigt: ..../show.pl?format=default<br />

Angriff: .../show.pl?format=/b<strong>in</strong>/ls|<br />

Bei php ist folgende Variante denkbar:<br />

Beabsichtigt: …/diskusage.php?directory=~/<br />

Angriff: …/diskusage.php?directory=;cat etc/passwd<br />

Hierdurch wird e<strong>in</strong> Angreifer <strong>in</strong> die Lage versetzt, alle Befehle <strong>auf</strong> z.B.<br />

Betriebssystemebene auszuführen, die auch die Applikation <strong>auf</strong>rufen kann,<br />

<strong>in</strong>klusive derer Berechtigung <strong>auf</strong> dem Betriebssystem.<br />

File Execution/Include<br />

Ursächlich für File-Execution bzw. File-Include ist die Möglichkeit e<strong>in</strong>es<br />

Benutzers, Date<strong>in</strong>amen anzugeben oder Dateien hochzuladen, die danach<br />

<strong>auf</strong>gerufen werden können. Dies führt zur Ausführung <strong>von</strong><br />

benutzerdef<strong>in</strong>ierten Dateien, dies es unter Umständen erlauben, die<br />

Fähigkeiten des Applikation im S<strong>in</strong>ne des Angreifers zu erweitern. Es s<strong>in</strong>d<br />

auch hier verschiedene Varianten möglich<br />

17 http://www.webappsec.org/projects/threat/classes/os_command<strong>in</strong>g.shtml<br />

Damian Schlager Seite 26

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!