Seite 1 von 1

Sicherheitsfehler gefunden!

Verfasst: 23.04.2006 20:06
von Maiki07
Ich hab gerade ein einen Sicherheitsfehler gefunden:
Allerdings weiß ich nicht genau, ob das nur bei mir im Forum geh oder generell in phpBB-Foren. Auf alle Fälle kann ich das Forum manipulieren, und so eine SQL-Injection starten, in dem ich ein eifaches Hochkomma in einem Beitrag einfüge. Also ' und dann einen Text eingebe.
Würd mich ma interessieren, ob es bei euch auch diesen Fehler gibt.
@Moderatoren: Sollte dieses Thema nicht in dieses Forum passen, verscheibt es bitte. Danke!

Verfasst: 23.04.2006 20:08
von Slytherin
Bei mir im Forum funktioniert das nicht :) Beispiel?

Code: Alles auswählen

'SELECT * FROM `phpbb_words` WHERE 1'
In der Art?

Slytherin

Verfasst: 23.04.2006 20:08
von BB-BF-BM
Normalerwiese wurde der Sicherheitsfehler schon sehr früh behoben, falls er überhaupt einmal da war...
Eigentlich sollte die Möglichkeit nicht mehr existieren! :-?

Verfasst: 23.04.2006 20:09
von Slytherin
Auf welcher Version befindet sich dein Board?

Slytherin

Verfasst: 23.04.2006 20:19
von Maiki07
Hi!
Also das Borad baisiert auf phpBB 2.0.20! Also der neuesten Version!
Der Fehler:
Error in posting

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''BlaBla '')' at line 1

INSERT INTO phpbb_posts_text (post_id, post_subject, bbcode_uid, post_text) VALUES (1630, '', '4c56c813c3', 'BlaBla '')

Line : 251
File : functions_post.php
Die wichtigen Zeilen:

Code: Alles auswählen

        $sql = ($mode != 'editpost') ? "INSERT INTO " . POSTS_TEXT_TABLE . " (post_id, post_subject, bbcode_uid, post_text) VALUES ($post_id, '$post_subject', '$bbcode_uid', '$post_message')" : "UPDATE " . POSTS_TEXT_TABLE . " SET post_text = '$post_message',  bbcode_uid = '$bbcode_uid', post_subject = '$post_subject' WHERE post_id = $post_id";
        if (!$db->sql_query($sql))
        {
                message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
        }
Eingegeben hab ich:
BlaBla'
Maik

Verfasst: 23.04.2006 23:35
von PhilippK
Normalerweise sollte phpBB so etwas rausfiltern. Tritt das auch mit einem frisch installierten phpBB bei dir auf?

Gruß, Philipp

Verfasst: 24.04.2006 18:03
von Maiki07
Also,
ich hab leider derzeit nicht die Möglichkeit, das zu testen. Aber ich würd mich trotzdem freuen, wenn ihr mir beim Beheben des Fehlers helfen könntet.
Also ich hab die Datei ma hochgeladen.
Die Datei functions_post.php: http://www1.file-upload.net/download_24 ... i.txt.html

Maik

Verfasst: 24.04.2006 22:43
von cYbercOsmOnauT

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------------------
#
includes/functions_post.php

#
#-----[ FIND ]------------------------------------------
#
  $sql = ($mode != 'editpost')
  
#
#-----[ BEFORE, ADD ]------------------------------------------
#
  $post_message = addslashes($post_message);

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
:)
Gruß,
Tekin

Verfasst: 25.04.2006 20:37
von Maiki07
So! Super! Danke erstma!
Aber jetzt hab ich ein weiteres Problem. Jetzt macht er nämlich auch ein Escape-Zeichen vor allen doppelten ANführungszeichen. Also zum Beispiel:

Code: Alles auswählen

aus normalerweise:
[quote="Maiki"]...[/quote]
macht er
[quote=\"Maiki\"]...[/quote]
Somit kann ich jetzt niemanden mehr ztiteren und auch andere Funktionen, die ein doppeltes Anführungszeichen benötigen nicht ausführen.
Was kann ich da machen.

Mfg Maik