Wordpress ist mitlerweile sehr weit verbreitet und daher für Angriffe sehr interessant. Vor allem die meist unsicher programmierten plugins machen es einem Potenziellen Angreifer sehr leicht.
So zum Beispiel das plugin "Spreadsheet". Dieses Eignet sich besonders für eine SQL-Injection, aber mit union. Also mehrere Select Abfragen durchführen.
Ich würde gerne einen Link mit dem Ergebniss einer solchen Anfrage einstellen, ich glaube aber dass dies nicht so gern gesehen wird, aber man kann das ganze leicht selbst ausprobieren. Und es ist ja auch nur wichtig zu w
Bei "Spreadsheet" ist die Datei ss_load.php Betroffen, diese ermöglicht den Einstieg.
Und die ss_functions.php, mit dieser Zeile in der Funktion ss_load wird die SQL Injektion durchgeführt. Die Herforgehobene Zeile
function ss_load ($id, $plain=FALSE) {
....
if ($wpdb->query("SELECT * FROM $table_name WHERE id='$id'") == 0) {
....
Um sich vor solchen gefährlichen plugins zu schützen empfehle ich wirklichem jedem Wordpress Benutzer dass er sein plugin bevor er es einsetzt erstmal den code anschauen, damit man sieht was das Programm damit macht. Vor allem sollte man keinem plugin vertrauen welches auf externe Daten blind vertraut ;)
Ah zur Absicherung empfehle ich diesen kleinen Code Schnipsel:
if(get_magic_quotes_gpc())
$varible_von_aussen = stripslashes($_GET['varible_von_aussen']);
else
$varible_von_aussen = $_GET['varible_von_aussen'];
$in_die_datenbankabfrage = mysql_real_escape_string($varible_von_aussen, $link);
Ich frage oben mit "get_magic_quotes_gpc()" ab ob dieses Aktiviert ist. Wenn es aktiviert ist dann wird mit "stripslashes()" die Maskierung rückgängig gemacht.
Ansonsten würde Maskiertes doppelt Maskiert werden!!!
Mit mysq_real_escape_string wird nun alles Maskiert.
Wichtig: Die mysql Verbindnug muss zu diesem Zeitpunkt schon stehen. Denn $link ist die MySQL Verbindungs-Kennung.
Also so schwer ist dass ja nun nicht externen code abzusichern. Aber wenn man sich die plugins so anschaut ;-)
Also Augen auf bei der Wahl eines Plugins!!
So zum Beispiel das plugin "Spreadsheet". Dieses Eignet sich besonders für eine SQL-Injection, aber mit union. Also mehrere Select Abfragen durchführen.
Ich würde gerne einen Link mit dem Ergebniss einer solchen Anfrage einstellen, ich glaube aber dass dies nicht so gern gesehen wird, aber man kann das ganze leicht selbst ausprobieren. Und es ist ja auch nur wichtig zu w
Bei "Spreadsheet" ist die Datei ss_load.php Betroffen, diese ermöglicht den Einstieg.
Und die ss_functions.php, mit dieser Zeile in der Funktion ss_load wird die SQL Injektion durchgeführt. Die Herforgehobene Zeile
function ss_load ($id, $plain=FALSE) {
....
if ($wpdb->query("SELECT * FROM $table_name WHERE id='$id'") == 0) {
....
Um sich vor solchen gefährlichen plugins zu schützen empfehle ich wirklichem jedem Wordpress Benutzer dass er sein plugin bevor er es einsetzt erstmal den code anschauen, damit man sieht was das Programm damit macht. Vor allem sollte man keinem plugin vertrauen welches auf externe Daten blind vertraut ;)
Ah zur Absicherung empfehle ich diesen kleinen Code Schnipsel:
if(get_magic_quotes_gpc())
$varible_von_aussen = stripslashes($_GET['varible_von_aussen']);
else
$varible_von_aussen = $_GET['varible_von_aussen'];
$in_die_datenbankabfrage = mysql_real_escape_string($varible_von_aussen, $link);
Ich frage oben mit "get_magic_quotes_gpc()" ab ob dieses Aktiviert ist. Wenn es aktiviert ist dann wird mit "stripslashes()" die Maskierung rückgängig gemacht.
Ansonsten würde Maskiertes doppelt Maskiert werden!!!
Mit mysq_real_escape_string wird nun alles Maskiert.
Wichtig: Die mysql Verbindnug muss zu diesem Zeitpunkt schon stehen. Denn $link ist die MySQL Verbindungs-Kennung.
Also so schwer ist dass ja nun nicht externen code abzusichern. Aber wenn man sich die plugins so anschaut ;-)
Also Augen auf bei der Wahl eines Plugins!!
Kommentare