SQL Injection :(

Irgendwelche Probleme mit XAMPP für Linux? Dann ist hier genau der richtige Ort um nachzufragen.

SQL Injection :(

Postby SolSoCoG » 19. July 2008 05:08

Hallo, heute morgen schaute ich mir meine Seite an und stellte fest das alle wichtigen mysql tabellen gelöscht sind und you_where_f**ked_by_dagobert als tabelle da nurnoch stand.

Hab nen www.ripe.net lookup gemacht und an t-online abuse mit logs geschickt. mal schaune was jetzt passiert.

wie kann man soetwas verhindern?
SolSoCoG
 
Posts: 30
Joined: 05. April 2008 13:35

Postby Nobbie » 19. July 2008 12:18

Indem man richtig programmiert.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Postby SolSoCoG » 21. July 2008 12:44

so kriegt man seine beitragszahl auch hochgepusht...
SolSoCoG
 
Posts: 30
Joined: 05. April 2008 13:35

Postby Stepke-DSL » 21. July 2008 12:56

Du hast in deinem Script sicherlich kein
Code: Select all
addslashes()


drin, oder?

MfG Stepke
Stepke-DSL
 
Posts: 313
Joined: 12. July 2007 16:08
Operating System: Win XP Pro SP3 + SuSe Linux

Postby deepsurfer » 21. July 2008 15:31

SolSoCoG wrote:so kriegt man seine beitragszahl auch hochgepusht...


Auch wenn die Äusserung sicherlich sehr einsilbig von ~Nobbie~ war, so trifft diese genau den Kopf des Nagels.

Als der Begriff "SQL Injection" durch --> alle <-- Medienbereiche durchging wurden Lösungen erarbeitet und Publik gemacht.

Wer also sich an dieser Stelle nicht darum gekümmert hat und Programmiertechnisch weiter ohne diese Lösungzweige Arbeitet sollte sich nicht wundern wenn soetwas passiert.

Daher schonmal die fragen an Dich:
- hast du MySQL abgesichert ?
- hast Du die php.ini restricktionen eingeschaltet die solche Injections vorab erschweren?
- hast Du deine Codezeilen den Restriktionen entsprechend geändert ?

Ich denke das diese Fragen hiermit perse mit "Nein" beantwortet werden müssen, denn sonst wäre es ja nicht passiert.

Solltest Du Programmanwendungen benutzen die unter den Restriktionen nicht ihre Arbeit machen, so wäre sicherlich ein Offener Brief an die Autoren (also deren Support Foren) angebracht.

XAMMP ist und bleibt in seiner Grundinstallation weiterhin ein Offenes System das diese Restriktionen nicht anwendet, wer also XAMPP ohne weiterführende Kenntnisse "einfach so benutzt" darf sich nicht wundern.

Willst Du alles "Sicher" machen, so musst du zum einen alles selber Installieren und die Compilierungen der Komponenten gemäss der Sicherheits Warnungen durchführen.

Erst dann kannst Du als Anbieter von WebContent davon ausgehen das Deine Produkte und Restriktionskonforme Fremdanwendungen Dir ein sicheres gefühl geben.

Zudem kommt es auch auf die "Fragestellung" an, denn ohne zu wissen was bei Dir läuft, welche Applikation das Sicherheitsloch hat und wie Du XAMPP benutzt ist es von vorherein schwierig zu helfen.

Es geht hier auch nicht darum alle Deine "Code" Gehemnisse zu kennen, nur ohen Informationen ist es nicht möglich da zu helfen.

Selbst der Hinweiss von ~Stepke-DSL~ ist nur ein versuch überhaupt einen Ansatz zu bekommen von Dir Informationen zu erhalten.

http://de.wikipedia.org/wiki/SQL-Injection
http://www.heise.de/security/Microsoft- ... ung/109937
http://www.heise.de/security/Giftspritz ... ikel/43175
http://www.heise.de/security/SQL-Inject ... ung/102347


http://www.heise.de/suche?q=sql-injecti ... &rm=search

-EDIT-
PS:
Und ja..ich nutze auch nocht risikoreiche Applikationen, aber das wissen darüber reicht mir zu entscheiden ob ich diese weiterhin nutze und oder mich anderwertig umsehe oder auch Geld für "Sichere" Applikationen kaufe.

Und jaa.. ich habe für solche Applikationen eigene SubDomains und eigene MySQL Berechtigungen und nehme nicht denn von XAMPP erstellten MySQL-ROOT zugang nur weil dieser alles bietet und vieles Vereinfacht.
Wenn einer Injectet dann ist nur eine Applikation betroffen und das ist dann meine Schuld.
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby SolSoCoG » 07. August 2008 12:59

Daher schonmal die fragen an Dich:
- hast du MySQL abgesichert ?
MySQL nur über localhost, sonst weiß ich nicht wie. Zu dem Zeitpunkt hatte ich außerdem den Lamppseiten Schutz da an.

- hast Du die php.ini restricktionen eingeschaltet die solche Injections vorab erschweren?
Welche Restriktionen

- hast Du deine Codezeilen den Restriktionen entsprechend geändert ?
ich ändere keine 10000 zeilen scripte den restriktionen entsprechend??

XAMMP ist und bleibt in seiner Grundinstallation weiterhin ein Offenes System das diese Restriktionen nicht anwendet, wer also XAMPP ohne weiterführende Kenntnisse "einfach so benutzt" darf sich nicht wundern.
Jop

Willst Du alles "Sicher" machen, so musst du zum einen alles selber Installieren und die Compilierungen der Komponenten gemäss der Sicherheits Warnungen durchführen.
Alles gemacht. Momentan jedoch der lamppseitenschutz aus weil ich noch andere leute habe die den mysql server nutzen.

Zudem kommt es auch auf die "Fragestellung" an, denn ohne zu wissen was bei Dir läuft, welche Applikation das Sicherheitsloch hat und wie Du XAMPP benutzt ist es von vorherein schwierig zu helfen.
Teamspeak, privoxy, shoutcast, lampp

Es geht hier auch nicht darum alle Deine "Code" Gehemnisse zu kennen, nur ohen Informationen ist es nicht möglich da zu helfen.
"code geheimnisse?"

Selbst der Hinweiss von ~Stepke-DSL~ ist nur ein versuch überhaupt einen Ansatz zu bekommen von Dir Informationen zu erhalten.
Weiß nicht ob in ein 10000 Zeilenscript sich ein slashes versteckt.

http://de.wikipedia.org/wiki/SQL-Injection
Sinnlos
http://www.heise.de/security/Microsoft- ... ung/109937
trifft bei mir nicht zu
http://www.heise.de/security/Giftspritz ... ikel/43175

http://www.heise.de/security/SQL-Inject ... ung/102347
trifft bei mir nicht zu, habe zu dem zeitpunkt drupal benutzt.


http://www.heise.de/suche?q=sql-injecti ... &rm=search

-EDIT-
PS:
Und ja..ich nutze auch nocht risikoreiche Applikationen, aber das wissen darüber reicht mir zu entscheiden ob ich diese weiterhin nutze und oder mich anderwertig umsehe oder auch Geld für "Sichere" Applikationen kaufe.

Und jaa.. ich habe für solche Applikationen eigene SubDomains
mysql.deinedomain.de ? wo befindet sich des mysql
und eigene MySQL Berechtigungen und nehme nicht denn von XAMPP erstellten MySQL-ROOT zugang nur weil dieser alles bietet und vieles Vereinfacht.
Aha joa das ist wohl sicherer.

Wenn einer Injectet dann ist nur eine Applikation betroffen und das ist dann meine Schuld.[/quote]
SolSoCoG
 
Posts: 30
Joined: 05. April 2008 13:35

Postby glitzi85 » 07. August 2008 14:54

SolSoCoG wrote:MySQL nur über localhost, sonst weiß ich nicht wie. Zu dem Zeitpunkt hatte ich außerdem den Lamppseiten Schutz da an.

MySQL an localhost binden ist schonmal gut. Dann sollte jede Applikation eine eigene Datenbank mit eigenem Benutzer haben. Bei mir läuft das so ab:
Datenbank in phpMyAdmin erstellen, z.B: drupal
Dieses SQL-Statement absetzen:
Code: Select all
GRANT ALL ON drupal.* TO 'drupaluser'@'localhost'

Im Internet eine der zig Passwortgeneratoren aufrufen, ein ca. 60 bis 70 Zeichen langes Passwort erstellen lassen und in phpMyAdmin über die entsprechende Seite dem gerade erstellten User drupaluser dieses Passwort zuweisen. Das brauchst du im Normalfall dann nur noch ein einziges mal, und das ist bei der Installation von drupal selbst.

Wenn jetzt jemand eine SQL-Injection auf deinem Drupal schafft, kann er lediglich die drupal-DB manipulieren, alle anderen Tabellen sind für diesen User nicht sichtbar.
Und wenn er dies schafft, dann hat man natürlich noch seine Backups, die auch ein DB-Dump beinhaltet. Sollte also kein Problem sein die Daten wieder herzustellen.

SolSoCoG wrote:Welche Restriktionen

Beispielsweise könntest du magic_quites_gpc aktivieren. Damit werden SQL-Injections erschwert. Allerdings bedingt darf dann natürlich in deinem Script nicht zusätzlich noch addslashes oder eine ähnliche Funktion verwendet werden. Das hat deepsurfer mit dem ändern der Codezeilen gemeint.

SolSoCoG wrote:Alles gemacht. Momentan jedoch der lamppseitenschutz aus weil ich noch andere leute habe die den mysql server nutzen.

Und was hat der LAMPP-Seitenschutz mit anderen Leuten zu tun. Für diese Leute richtet man einen unprivilegierten User in phpMyAdmin ein (gleiche Prozedur wie in der Drupal-Anleitung oben) und lässt sie in ihrer Datenbank toben. Die LAMPP-Seite solltest du eigentlich komplett löschen, da die auf einem Öffentlichen Server überhaupt nicht genutzt werden sollte. Schon gar nicht ohne Passwortschutz.

SolSoCoG wrote:Teamspeak, privoxy, shoutcast, lampp

Es geht hier mehr um die Applikationen die IN lampp laufen, nicht die, die sonst noch laufen.

und eigene MySQL Berechtigungen und nehme nicht denn von XAMPP erstellten MySQL-ROOT zugang nur weil dieser alles bietet und vieles Vereinfacht.
SolSoCoG wrote:Aha joa das ist wohl sicherer.

Ja, ist es!

Dieser Thread zeigt mal wieder warum man keinen Server betreiben sollte, wenn man nicht die entsprechende Erfahrung dazu hat. Dazu kommt dann noch dass XAMPP sehr einfach einzurichten ist. Die richtige Konfiguration der einzelnen Server kann dir aber keiner Abnehmen, die musst du von Hand machen, sowohl bei selber kompilierten Komponenten als auch bei XAMPP. Und um das richtig zu machen muss man verstehen was man tut.

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby deepsurfer » 08. August 2008 10:13



Danke, allein diese Aussage reicht mir vollkommen.
Viel Spass mit Deinem Server.

Klinke mich hiermit aus dem Thread aus.

Danke glitzi85 für Deine Erläuterungen.

HAPPY XAMPP
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian


Return to XAMPP für Linux

Who is online

Users browsing this forum: No registered users and 17 guests