| | | | |
| | |
| Erfahrener Benutzer Registriert seit: 23.08.2004
Beiträge: 175
![]() | Hallo, wundert mich, ich habe hier im Forum noch nichts darüber gefunden? Egal, fange ich mal an: http://de.wikipedia.org/wiki/SQL-Injection Sollte sich eh mal jeder durchlesen. Bei PHP gibt es ja mysql_real_escape_string() Wobei bei Abfragen: PHP-Code: PHP-Code: PHP-Code: Was ich aber nicht verstanden habe, was mach denn mysql_real_escape_string wirklich mit den $_POST / $_GET Daten? Und was ist, wenn man diese Daten vorher fest definiert? Also Beispielsweise Egal ob $_POST oder $_GET. ich wandle diese generell in eine Variable $vari1=$POST['vari1']; $vari2=$POST['vari2']; um. Sind dann Injections auch möglich? Kennt jemand evtl. noch einen guten Link im Internet, der sich näher mit diesem Thema beschäftigt? Wie löst Ihr diese Dinge? Danke für Antworten! Gruß, Micha |
| |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |||||||
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 9.937
![]() | Zitat:
Zitat:
http://de2.php.net/mysql_real_escape_string Zitat:
Zitat:
Zitat:
Zitat:
Für Strings eben in meiner Validate::toString($_POST['text']) mysql_real_escape_string() verwenden, aber dort am besten nochmal mit get_magic_quotes_gpc() abfragen, ob der String über $_POST, $_GET usw. nicht bereits automatisch escaped wurde. | ||||||
| |
| | |||
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 9.937
![]() | Also mal langsam, lies doch mal was ich dir schicke: Zitat:
PHP-Code: Das SQL-Injection Beispiel von Wikipedia funktioniert im aktuellen PHP überhaupt nicht mehr, denn pro mysql_query() kannst du nur einen Query-Befehl ausführen. Also einen neuen Befehl kannst du nicht mehr einschleußen, es sei denn der Coder hat absoluten Blödsinn gebaut und der String läßt sich komplett über Eingabe-Parameter verändern (zB den SQL-Befehl per Parameter übergeben). Das Problem des Ausspähens von Daten mittels UNION oder der Manipulation der Restriktions-Bedingung (WHERE) bleibt, wenn du es erlaubst Strings in Felder zu übergeben, die Zahlen erwarten und deshalb nicht mit Anführungszeichen eingegrenzt sind. Beispiel aus Wikipedia: Zitat:
Wenn du jetzt aber Anführungszeichen verwendest und der String nicht escaped wird, kann der "Hacker" dir Sonderzeichen unterjubeln, die deine String-Eingrenzung mittels ' beenden und dadurch das Statement verändern, zB die Bedingung beim Login. Code: SELECT * FROM users WHERE username = '$user' AND pw = '$pw' Code: $user = admin' -- Dann käme heraus: Code: SELECT * FROM users WHERE username = 'admin' -- 'AND pw = '' Code: SELECT * FROM users WHERE username = 'admin\' --' AND pw = '' http://de.wikipedia.org/wiki/Escape#...capen.E2.80.9C http://de.wikipedia.org/wiki/Escapen | ||
| |
| | |
| Erfahrener Benutzer Registriert seit: 23.08.2004
Beiträge: 175
![]() | Klasse, danke und verstanden Du bist doch Moderator, ich hätte mal einen Vorschlag da es früher oder später eh jeden interessiert oder interessieren sollte. Eine Rubrik einzuführen: PHP - Sicherheit Dort kann man all diese Themen sammeln, oder aber z.B. wenn man eine grauenhafte Sicherheitslücke in einem geposteten Script entdeckt, dass dort entsprechend zu diskutieren, damit die PHP Gemeinde auch "lernt" sicher zu programmieren.... Denn das bringt uns oftmals in Verruf und schadet uns im allgemeinen langfristig.... Fände ich ne gute Sache. Gruß, Micha |
| |
| | |
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 9.937
![]() | Über die Forenaufteilung in andere Rubriken, statt Anfänger - Profis wurde schon einmal nachgedacht. Allerdings ist PHP-Sicherheit auch ein sehr allgemeines Thema. Aber vielleicht schaust du mal ins Tutorial-Forum, da ist zumindest ein ganz interessanter Beitrag von Basti: http://www.phpfriend.de/forum/ftopic51631.html Oder das Tutorial der PHP-Newsgroup: http://www.php-faq.de/ch/ch-security.html |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Erledigt] MySQL - ERROR 1044 bei erstellen einer Datenbank | _youngenterpriser_ | Datenbanken | 2 | 05.02.2008 17:56 |
| Mysql Server Einstellunen Optimieren | pchero | Datenbanken | 3 | 01.05.2007 19:50 |
| PHP, MySQL installieren | frankys9 | PHP Tipps 2006 | 10 | 16.03.2006 16:05 |
| Kein Zugriff über ODBC mit der IP-Adresse auf MySql DB | Datenbanken | 4 | 09.02.2006 11:04 | |
| [Erledigt] Mysql 4.1.x unter php 4.3.9 | Datenbanken | 3 | 15.11.2005 13:49 | |
| Schnittstelle zwischen PHP und MySQL klappt net !!! | Datenbanken | 16 | 16.10.2005 14:24 | |
| [Erledigt] not allowed to connect to this MySQL server | PHP Tipps 2005-2 | 2 | 23.09.2005 18:34 | |
| MySQL & PHP: Problem mit Password() | Datenbanken | 10 | 19.09.2005 11:00 | |
| [Erledigt] MySQL Befehl für MySQL 4.0.24 | Datenbanken | 2 | 23.08.2005 17:35 | |
| Suche Tipps für Persormance-Steigerung (Geld für Nützliches) | Beitragsarchiv | 18 | 16.08.2005 10:57 | |
| MYSQL läuft nur wenn /tmp auf 777 | Datenbanken | 5 | 06.07.2005 08:38 | |
| mysql root passwort vergessen | Datenbanken | 1 | 29.05.2005 11:33 | |
| mysql injection wirkungsvoll verhindern | PHP Tipps 2005 | 4 | 09.04.2005 18:08 | |
| Access denied for user: '@localhost' / SYSTEM@localhost | Datenbanken | 0 | 10.11.2004 20:35 | |
| [Erledigt] PHP5 &a m p; MySQL | Datenbanken | 5 | 01.08.2004 05:47 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| mysql_real_escape_string umgehen, mysql_real_escape_string injection, mysql_real_escape_string, mysql mysql_real_escape_string, mysql_real_escape_string() umgehen, mysql sicherheit mysql_real_escape_string, mysql_real_escape umgehen, mysql real escape umgehen, http://www.php.de/php-tipps-2006/41080-mysql-injection-mysql_real_escape_string.html, mysql injection beispiel, mysql real escape string umgehen, mysql_real_escape_string injections, \\\x1a\ mysql, mysql_real_escape_string tutorial, mysql injection beispiele, umgehen mysql_real_escape_string, php mysql injection mysql_real_escape_string, mysql injection mysql_real_escape_string, sql injection mysql_real_escape_string, mysql injection verhindern |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.