php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.12.2005, 12:01  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 104
ajo_silent
Standard SQL-Injection

Hallo,

kann man in einem Text bösartigen Code einschleusen?
Hier ein Beispiel:
SELECT * FROM tabelle WHERE name='$suchtext';

Ist es möglich, dass man da Code einschleusen könnte?

Danke
ajo_silent ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.12.2005, 12:20  
Erfahrener Benutzer
 
Registriert seit: 02.03.2005
Beiträge: 305
DerDesian
Standard

Ja, zB wenn
Code:
$suchtext = "'; SHOW TABLES";
oder
Code:
$suchtext = "'; INSERT INTO User (name, permissions) VALUES ('schummeladmin', 'darfalles')";
Deshalb macht man
Code:
$query = "SELECT * FROM tabelle WHERE name='".addslashes($suchtext)."'";
Dann werden die ' in der Variablen $suchtext 'ausgesslashed' und verlieren ihre beabsichtigte Funktion. Stadtdessen wirde das 'böswillige' SQL einfach als Text behandelt und halt danach gesucht.

Gruß
Der Desian
__________________
Wenn dich was ankotzt, machs besser.
DerDesian ist offline   Mit Zitat antworten
Alt 20.12.2005, 13:50  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 104
ajo_silent
Standard

ich danke dir
ajo_silent ist offline   Mit Zitat antworten
Alt 20.12.2005, 13:52  
Benutzer
 
Registriert seit: 08.08.2005
Beiträge: 86
Ricochet
Standard

Statt mitt addslashes() lieber mit mysql_real_escape_string() arbeiten, da mit hoher Warscheinlichkeit magic quotes ohnehin eingeschaltet ist.

Hier ein Beispiel für 'best practice':

PHP-Code:
$suchtext mysql_real_escape_string($suchtext);

$sql "SELECT * FROM tabelle WHERE name='%s'";

$sql sprintf($sql$suchtext);

mysql_query($sql$dbcnx); 
__________________
Tabellenlayouts sind out, Browsergames sind schei$$e und die Erde ist eine Scheibe.
Ricochet ist offline   Mit Zitat antworten
Alt 20.12.2005, 13:54  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Kannst auch mal hier durchschmökern .. vielleicht findet man da noch etwas:
http://forum.developers-guide.net/showthread.php?t=159

Grüße Ben.
imported_Ben ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Regex gegen Sql Injection notyyy PHP-Fortgeschrittene 8 20.10.2007 17:57
Sql Injection durchführen? Matthiasnet PHP Tipps 2007 10 21.06.2007 21:16
MySQL injection: mysql_real_escape_string tekknotrip PHP Tipps 2006 5 07.07.2006 11:46
[Erledigt] Dependency/Property Injection Off-Topic Diskussionen 1 18.05.2006 10:52
[url]http://phpmailer.sourceforge.net[/url] injecion secure? PHP Tipps 2007 6 22.12.2005 14:22
SQL - Injection Stümper Datenbanken 1 30.05.2005 06:36
mysql injection wirkungsvoll verhindern PHP Tipps 2005 4 09.04.2005 18:08
SQL Injection Frage Ypsillon PHP Tipps 2004-2 3 31.12.2004 00:30
Injection / XSS PHP Tipps 2004-2 4 22.11.2004 10:08

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php regex sqlinjection, sql injection guide php, guide php sql injection, sql injection php code einschleusen, browsergame sql-injection, best-practise sqlinjection php

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:04 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.