Du bist nicht angemeldet.


Lieber Besucher, herzlich willkommen bei: Schwarzes Halle. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

Samstag, 1. Juli 2006, 16:11

You have an error in your SQL syntax

Wie gestern bereits an die Pinwand gemeiselt:
Mir erscheint jedesmal beim Kommentieren eines Gästebucheintrages eine unfreundliche weiße Seite, auf der folgender Text geschrieben steht

Zitat

Database error in WoltLab Burning Board: Invalid SQL: UPDATE bb1_usergb SET kommentar='Wenn's denn sein muss. *augenroll*' WHERE gbmsgid='28900'
mysql error: 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 's denn sein muss. *aug" at lin
mysql error number: 1064
Date: 01.07.2006 @ 16:00
Script: /gaestebuch.php
Referer:
Leider gibt es im Moment technische Probleme mit der Datenbank.
Benutze den Aktualisieren-Button deines Browsers um einen erneuten Zugriff zu versuchen.
Falls die Probleme andauern kontaktiere bitte den Admin des Boards.


Die Datenbank missversteht wohl mein Kommentar. Nehme ich den Apostroph weg und schreibe "Wenn es" aus, löst sich das Problem. Auftreten sollte es dennoch nicht.
______________________________

Als Alptraum tropf ich unaufhörlich,
bist du mir versunken bist, unwiederbringlich.

2

Samstag, 1. Juli 2006, 21:10

Wird behoben.
______________________________

Rule #3: Don't believe what you're told. Double check.
Rule #7: Always be specific when you lie.
Rule #8: Never take anything for granted.
Rule #38: Your case, your lead.

Overload

unregistriert

3

Freitag, 21. Juli 2006, 02:56

Ich bin kein Experte, un ich bin sicher ihr wißt das, aber nur zur Sicherheit...
Man sollte keinen Text ungefiltert in einen SQL Syntax übergeben. Stellt euch mal vor einer gibt ein:" ' Lösche Tabelle XYZ --" (mit absicht net in SQL, damit keiner copy&paste macht...)
erst wird das eigentliche SQL Statment geschlossen (was ja auch zum Fehler führte) und dann die angegebene Tabelle gelöscht und der Rest des SQL durch die Kommentarzeichen ignoriert. Man kann mit der DB machen was man will, solange man weiß in welcher Tabelle was steht.
Solltet ihr z.B. auch bei der PW Eingabe abfangen und an der Stelle wo ein falschen PW in die Tabelle für User Info eingetragen wird und sonst überall wo der Benutzer die "magic quotes" benutzen kann. Nich das noch wer das Bord himmelt.
Kenn das Prob nur aus einer Datenbank mit der ich arbeite und man glaubt gar net an wievielen Stellen man das vergißt.

mfg Overlaod

4

Freitag, 21. Juli 2006, 04:04

Tja, die SQL-Abfrage wird wohl von der Board-Software vorgegeben. Mal ganz davon absehen, wird ja nun wohl keiner auf die Idee kommen, Passwörter unverschlüsselt zu senden. Bei Posts ist das was ganz anderes. Die nicht zu verschlüsseln spart CPU-Zeit, was bei reger Datenbank-Abfrage eines Skripts schnell mal wichtig werden kann.
______________________________

Warum sollte man Zeit mit unnützen Tätigkeiten vergeuden, wenn man sie doch einfach sinnlos verstreichen lassen kann ?

Overload

unregistriert

5

Freitag, 21. Juli 2006, 15:13

Hab aus Spaß mal gesucht, und nach 30s das gefunden.
Das man die SQL Befehle wohl doch selber konfigurieren kann, entnehme man diesen Link: http://www.php-resource.de/forum/showthread/t-37172.html
(Vll. wird ja dann klarer was ich meine, was den Unterschied macht zw. Text "roh" übergeben und als "Variable verpacken")

Aber wirst das ja wissen, weil Fehler gefixt wurde. Eins interessiert mich nur: Was soll das ganze mit der Verschlüsselung der Übertragung zu tuen haben? Ich glaub da haben wir aneinander vorbei geredet...

6

Freitag, 21. Juli 2006, 17:58

Das glaub ich auch.

Aber wenn du es in eine Variable packst, wird doch trotzdem der Dtring übergeben. Wo soll das sicherer sein ? *amkopfkratz*
______________________________

Warum sollte man Zeit mit unnützen Tätigkeiten vergeuden, wenn man sie doch einfach sinnlos verstreichen lassen kann ?

Overload

unregistriert

7

Samstag, 22. Juli 2006, 02:10

Ganz einfach:
1.)Wenn du den String roh reinpackst, wird ein Semikoln als Termination des Strings gesehen, und ermöglicht damit hinter dem String beliebige Befehle auszuführen.
2.)Wenn du den String als Variable übergibst, dann wird das Semikolon intern mit einem Escapezeichen versehen, was dazu führt das der String noch als ganzes erkannt und behandelt wird. Damit ist es nicht mehr mgl. den String künstlilch zu terminieren um Code dahinter einzuschleusen.

Ich hoffe das erklärt es, wenn net frag ruhig.

8

Samstag, 22. Juli 2006, 08:28

Ich frag mich grad was das ganze jetzt mit Variablen zu tun hat, aber vielleicht meinst du ja das selbe.
Also normalerweise wird einfach jedes Vorkommen des ' Zeichens (welches Zeichenketten einschließt) durch ein \\' oder ähnliches je nach Datenbanktyp ersetzt, sodass das ' zeichen, was der Benutzer irgendwo eingefügt hat nicht mehr die Zeichenkette terminiert und nur für ein einfaches ' im Text steht und den Datenbankbefehl so nicht zerstört bzw. nicht zum Einschleusen weiterer Befehle dienen kann.
Solche Unachtsamkeiten der Programmierer sind recht häufig auftretenden Sicherheitslücken bei datenbankbasierten Webanwendungen.
______________________________

Memo an mich selbst:
nochnochnochnochnochnochnochnochnoch

9

Samstag, 22. Juli 2006, 09:21

scheint doch nur ne simple überlastung der datenbank zu sein... mein gott sowas passiert halt nun mal..... kenn ich auch das problem.....

so lange wir nicht mehr mit der keule ums feuer rennen müssen, bin ich doch der meinung wir sollten gewisse ausfälle der technik als selbstverständlich annehmen ;)

Overload

unregistriert

10

Samstag, 22. Juli 2006, 14:16

@ Cyrus: Genau das mein ich. Um das mit den Variablen noch mal klarer zu machen, diesen Link (dort die Sektion über PHP): http://de.wikipedia.org/wiki/SQL-Injection
Ich geh mal davon aus das, das Board über PHP auf ner MySQL DB (is ja eigentlich auch egal was für ne DB) realisiert ist. PHP stellt einen speziellen Datentyp bereit, um eben dieses Verhalten zu verhindern.

@MetalFriedie: Nein das ist keine Überlastung, sondern eine ernstzunehmende Sicherheitslücke, mit der es geübten Benutzern möglich ist, das Forum zu löschen, alle PW's auszuspionieren, oder sonst was zu machen...

mfg Overlaod

11

Samstag, 22. Juli 2006, 18:31

Da die Diskussion nun inzwischen nichts mehr mit dem sowieso bereits behobenen Problem zu tun hat, habe ich den Thread mal ins Forum Forscherdrang verschoben.

Alle die jetzt durch die Diskussion hier Angst haben, dass das Forum durch solche Angriffe geschädigt oder private Daten ausspioniert werden könnten, möchte ich an dieser Stelle beruhigen das hier soetwas nicht passieren kann.
______________________________

I know that I will never be politically correct.
And I don't give a damn about my lack of ettiquette.

12

Donnerstag, 7. Dezember 2006, 14:40

Das Problem taucht mir bei wieder auf.
______________________________

Als Alptraum tropf ich unaufhörlich,
bist du mir versunken bist, unwiederbringlich.

13

Samstag, 9. Dezember 2006, 15:04

Apostrophe im GB

Wenn ich in GBs Beiträge mit Apostrophen poste, bekomm ich immer irgend 'ne SQL-Fehlermeldung...

Also z.B.
*Was gibt's neues??* geht nicht, aber wenn ich *Was gibt es neues?* schreibe geht es...

Ich weiß, das ist ziemlich weltbewegend... *kasper*
______________________________

less qq
more pew pew

14

Samstag, 9. Dezember 2006, 15:14

So, nu hats der Admin ganz gemacht ;-)
______________________________

"Der gesunde Verstand ist die bestverteilte Sache der Welt, denn jedermann meint, damit so gut versehen zu sein, daß selbst diejenigen, die in allen übrigen Dingen sehr schwer zu befriedigen sind, doch gewöhnlich nicht mehr Verstand haben wollen, als sie wirklich haben."

Descartes

15

Samstag, 9. Dezember 2006, 15:15

Aha, an den Apostrophen könnt's liegen? Muß ich mal ausprobieren...
Dauernd verfasse ich liebevolle kreative Einträge, und dann kommt eine Fehlermeldung und mein liebevoll-kreativer Beitrag iss wieder weg.*schmoll*
Kann das bitte jemand reparieren? *heul*

edit: Der Admin war schneller als ich! *applaus*
______________________________

"Die Probleme im Leben entstehen daraus, dass man etwas sät und etwas ganz anderes ernten möchte."

Stephen R. Covey

16

Samstag, 9. Dezember 2006, 15:37

Tja, Service wird hier eben groß geschrieben

Rest wegedited weil: Ich wurde eines besseren belehrt und behaupte jetzt das Gegenteil ;-)
______________________________

"Der gesunde Verstand ist die bestverteilte Sache der Welt, denn jedermann meint, damit so gut versehen zu sein, daß selbst diejenigen, die in allen übrigen Dingen sehr schwer zu befriedigen sind, doch gewöhnlich nicht mehr Verstand haben wollen, als sie wirklich haben."

Descartes

17

Samstag, 9. Dezember 2006, 15:52

Zitat

Original von LuckyStrikes
Tja, Service wird hier eben groß geschrieben


Besten Dank *dankedanke*

Zitat

Original von LuckyStrikes
Rest wegedited weil: Ich wurde eines besseren belehrt und behaupte jetzt das Gegenteil ;-)


Ich hab den *Rest* aber noch gar nicht gelesen... *schiel*

ansonsten *geschlossen*
______________________________

less qq
more pew pew

18

Samstag, 9. Dezember 2006, 20:08

Zitat

Original von LuckyStrikes
So, nu hats der Admin ganz gemacht ;-)


Sieht bei mir aber anders aus...
______________________________

Als Alptraum tropf ich unaufhörlich,
bist du mir versunken bist, unwiederbringlich.

19

Sonntag, 10. Dezember 2006, 13:15

Das soll heißen?
______________________________

I know that I will never be politically correct.
And I don't give a damn about my lack of ettiquette.

20

Sonntag, 10. Dezember 2006, 13:51

Dass es immer noch oder wieder auftaucht.
Ich hab' es eben nochmal überprüft und ist es nach wie vor der böse Apostroph.
______________________________

Als Alptraum tropf ich unaufhörlich,
bist du mir versunken bist, unwiederbringlich.