Einspritzung 101
Eine der bekanntesten Klassen von Schwachstellen sind Injektionsschwachstellen, insbesondere, und das überrascht niemanden, das unbestrittene Aushängeschild: SQL-Injektion. Es ist schwer, in der Welt der Technik nicht von SQL-Injection zu hören, also werden wir einfach darüber sprechen.
Mit SQL Injection ist es möglich, das Verhalten einer SQL-Abfrage so zu manipulieren, dass es den Wünschen eines Angreifers entspricht.
Es gibt auch viele andere Arten der Injektion, die sich zwar äußerlich unterscheiden, aber alle auf demselben Prinzip beruhen.
Zur Erinnerung: Einige der häufigsten Injektionsarten sind:
- SQL-Einschleusung
- Cross-Site Scripting (HTML/Javascript-Injektion)
- Path Traversal (Pfad/Url-Injektion)
- Befehlsinjektion
- Code-Injektion
Eine kleine Injektion 101
Wenn Sie sich die vorangegangene Liste der Injektionsarten ansehen, haben sie alle eines gemeinsam: Sie alle beinhalten eine Zeichenkette, die durch einen Interpreter läuft, der dann das tut, was die Zeichenkette darstellt. Wir haben "Benutzereingabe" mit geschweiften Klammern markiert.
Was würde also passieren, wenn die Eingabe von Benutzereingaben unsicher wäre? Was könnte ein Angreifer tun? Auch in diesem Szenario gilt alles, was innerhalb der geschweiften Klammern steht, als "Benutzereingabe".
Achten Sie bei diesen Beispielen darauf, wie die Eingabe verwendet werden kann, um das Ergebnis der Benutzereingabe zu beeinflussen.
Das ist die Essenz von Injection. Es geht darum, zu beeinflussen, was an den Interpreter weitergegeben wird, um ihn dazu zu bringen, etwas anderes zu tun, als der ursprüngliche Programmierer beabsichtigt hat.
Das sind nur die Grundlagen, die es zu beachten gilt. Wir haben einige der verschiedenen Injektionsarten auf eigenen Seiten behandelt, weil sie etwas mehr Aufmerksamkeit verdienen.
Sie können sie hier finden: