SQL-Injection - Funktionsweise + wie sichern? |
|
---|---|
05.02.2004, 16:05
...neu hier
Beiträge: 1 |
|
|
|
05.02.2004, 16:10
Member
Beiträge: 3306 |
#2
http://www.sitepoint.com/article/794
http://www.sitepoint.com/article/sql-injection-attacks-safe Kannst dir das ja mal durchlesen ansonsten Googeln. __________ Bitte keine Anfragen per PM, diese werden nicht beantwortet. |
|
|
05.02.2004, 17:59
Member
Beiträge: 201 |
#3
Einen weiteren sehr schönen Bericht zum runterladen findest du im folgendem Link. Ist persönlich mit das beste Dokument was ich kenne. Und es ist wirklich erstaunlich bei wie vielen Anwendungen/Abfragen das funktioniert. Das ganze beschränkt sich ja nicht nur auf Internetformulare sondern auf alle Anwedungen die etwas aus einer datenbank holen
Quelle: http://www.nextgenss.com/papers/advanced_sql_injection.pdf bzw. Anhang Kopie Wenn du das ganze gerne auch mal legal ausprobieren möchtest kann ich dir als schönes Wargame das SecurityGame #1 von NGSec empfehlen. Da muß man diese Technik in einem Level anwenden um weiterzukommen: http://quiz.ngsec.biz:8080/ Anhang: advanced_sql_injection.pdf Dieser Beitrag wurde am 05.02.2004 um 17:59 Uhr von MacDefender editiert.
|
|
|
05.02.2004, 20:16
Administrator
Beiträge: 1743 |
#4
MySQL Injection ist leider ein wirklich aktuelles Thema.
Sehr viele (auch grosse Webseiten wie gerade gesehen :D z.B. hamburg.de ) haben solche Probleme, das man Formulardaten die man mit dem Browser sendet manipulieren kann und somit falsche Daten in eine Datenbank einspielen kann. Webseiten mit Formularen die gegen sowas nicht abgesichert sind tragen ein wirklich gigantisches Sicherheitsrisiko mit sich! das absichern dabei ist falls man es nicht übersieht garnicht so schwer und meistens nur eine kleine Abfrage. auch interessant dazu: http://www.boardunity.de/showthread.php?t=1710 __________ Gruß Lukas |
|
|
05.02.2004, 21:28
Member
Beiträge: 201 |
#5
Ja, die Gefahr dabei ist wirklich gigantisch. Man kann ja nicht nur datenb maipulieren oder unrechtmäßig Zugang erlangen sondern wie beim Advanced SQL-Injecting beschrieben einfach alles mit derDatenbank machen incl. einem "schlichen" drop table xy usw. Eine Firma kann so in Sekunden ihren kompletten Onlineshop verlieren und muß erst wieder Backups aufspielen wenn sie denn welche besitzt. Das kann aber mehrere Stunden dauern und somit das Geschäft ruinieren wenn die Kunden den laden nicht erreichen. Oder man könnte in der Datenbank die gesicherten Adressdaten der Benutzer alle manipulieren und und und...
Und wie schon geschrieben kann man sich mit wenigen Zeilen mehr Code dagegen schützen. Aber wie bei fast allen Sachen sind die Betreiber wohl schon immer froh das ihre fertig gekauften pakete überhaupt laufen. Bloß nicht lernen was man da gerade gemacht hat und was überhaupt geht. Dabei gibt es so schöne Sicherheitsseiten die Zusammenfassungen über die größten Probleme besitzen |
|
|
09.04.2004, 21:23
stormy
zu Gast
|
#6
jaja, nette sache das.
dabei kann man z.b. mit ner einfachen funktion wie z.b. function secure_input($input_string) { return addslashes($input_string); } alles so schnell schön sicher machen. |
|
|
09.04.2004, 22:08
Member
Beiträge: 201 |
#7
Tja, wenn das wirklich so einfach wäre.
Genau das ist ja der Punkt wo Advanced SQL Injection mit ins Spiel kommt. Da kann man dann auch schnell solche einfachen Schutzmechanismen mit aushebeln Zitat Advanced SQL Injection: It is often the case that a web application will 'escape' the single quote character (and others), and otherwise 'massage' the data that is submitted by the user, such as by limiting its length. In this section, we discuss some techniques that help attackers bypass some of the more obvious defences against SQL injection, and evade logging to a certain extent.... Dieser Beitrag wurde am 09.04.2004 um 22:11 Uhr von MacDefender editiert.
|
|
|
28.04.2004, 19:06
Administrator
Beiträge: 1743 |
#8
weitere gute Links zum Thema:
Wikipedia SQL Injections Erklärung de.comp.lang.php.* FAQ (PHP) http://www.securityfocus.com/infocus/1709 -> Security Focus http://www.heise.de/security/artikel/43175 -> Heise Security http://www.nukecops.com/postt14289.html -> NukeCops (PHP) http://www.aspheute.com/artikel/20011030.htm -> ASP Heute Teil 1 (ASP) http://www.aspheute.com/artikel/20011031.htm -> ASP Heute Teil 2 (ASP) wichtig ist es halt an folgendes beim PHP coden bzw. verwenden von MySQL Datenbanken zu denken: mysql_real_escape_string + mysql_escape_string + addslashes __________ Gruß Lukas |
|
|
10.02.2006, 14:07
Member
Beiträge: 2176 |
#9
MySQL Injection funktioniert meistens über Variablen in einer URL:
für http://website.de/list.php?user=all setzt man für all z.B. einen der folgenden Ausdrücke ein um Informationen in die Datenbank einzuspeisen oder auszulesen! Falls die Variable $user nicht gut überprüft wird kann man dieses natürlich ausnutzen: ein paar Beispiele: Zitat Guess Table Nameein Tool/Firefox Erweiterung womit man das auf Websites gut testen kann ist: Zitat Tamperdata is an extension to track and modify http/https requests.angehängt habe ich ebenfalls noch ein interessantes Dokument Greetz Lp Anhang: sql-injection.pdf
|
|
|
18.08.2007, 15:48
Member
Beiträge: 2176 |
#10
ein Forum von dem nicht unbekannten RSnake:
http://sla.ckers.org/forum/list.php?16 beschäftigt sich genau mit diesem Thema: SQL Code Injection und gibt sowohl Anleitung als auch Hilfestellung um die Sicherheit der eigenen Website zu testen. nicht zu vergessen das SQL Injection Cheet Sheet von eben diesem: http://ha.ckers.org/sqlinjection/ Greetz Lp |
|
|
wer kann mir etwas über die Funktionsweise und das Gefahrenpotential von SQL Injection sagen. Der nachfolgende Abschnitt ist aus unserer lokalen Tageszeitung und scheint mir _sehr_ pauschal gehalten.
"Eine der neuesten Gemeinheiten der Computercracker sei die so genannte SQL-Injection. Damit kann der Eindringling jegliche Kennwortabfrage einfach umgehen und hat freien Zutritt zum System. "Das klappt bei den meisten Programmen, die keine entsprechende Sicherheitslösung haben ".
Da hilft auch das komplizierteste Passwort aus Sonderzeichen und Zahlensalat nichts."
Danke im Voraus
bye
Mike