Schutz vor dem phpBB-Wurm mittels .htaccess

Hier die Newsecke (Kein Support!)
Twins

Beitrag von Twins » So 14.Aug, 2005 12:45

Warum denn? Bewirken die Änderungen überhaupt etwas? Wenn ja, was?

Benutzeravatar
cback
Moderator
Moderator
Beiträge: 1556
Registriert: Sa 15.Mai, 2004 14:32
Wohnort: Saarland
Kontaktdaten:

Beitrag von cback » So 14.Aug, 2005 13:22

Ich werde einmal speziell für Dich eine realistische Simulation der Vorgehensweise das Apache .htaccess Interpreters vorführen gestartet ab Zeile 13. Also ich bin jetzt der Apache:

Code: Alles auswählen

# RewriteCond %{QUERY_STRING} ^(.*)alert\(document(.*) [OR]
OK bei diesem String muss ich etwas machen. Speichern wir das. Ah ein oder... muss also noch mehr beachten. Weiterlesen.

Code: Alles auswählen

# RewriteCond %{QUERY_STRING} ^(.*)SQL_INJECTION(.*) [OR]
Aha wenn das in der URL kommt muss ich auch etwas machen. Oh ein Oder... geht noch weiter. Nächste Zeile

Code: Alles auswählen

# RewriteCond %{QUERY_STRING} ^(.*)cmd
Aha steht ganz am Ende der URL was mit cmd muss ich etwas machen. Ende. Keine Anweisung mehr.

.htaccess auslesen beendet. [[EXIT]]



So und was haste nun? Gar keinen Schutz denn diese Zeile:

Code: Alles auswählen

# RewriteRule ^.*$ http://127.0.0.1/ [L,R=301]
die erst sagt "Ist etwas von dem obigen drin schreibe um nach...." fehlt. Das heißt Apache weiß bis zur Zeile 16 Zwar, dass er etwas machen soll wenn das in der URL steht, doch er weiß nie was es ist. Alle solche Anfragen werden also durchgestellt da er sagt "Tjoah... ich müsste ja eigentlich etwas machen, aber ich weiß nicht was. Stellen wir es halt durch und machen so als wäre nichts gewesen *pfeiff* *pfeiff* *pfeiff*"


Desweiteren fehlen hinter Deinen cmd's die sternchen, und ne URL mit CMD geht IMMER noch weiter. Käme also auch schlecht.

Twins

Beitrag von Twins » So 14.Aug, 2005 13:28

Oh, danke cback! ;)
Und was bringt mir das?

Code: Alles auswählen

# prevent access from santy webworm a-e
Das a-e meine ich...
Und ist das nicht besser:

Code: Alles auswählen

RewriteCond %{QUERY_STRING} ^(.*)cmd=
Ich dachte, das = ist dazu da um den Schutz zuerweitern?
Zuletzt geändert von Twins am So 14.Aug, 2005 13:34, insgesamt 1-mal geändert.

Benutzeravatar
cback
Moderator
Moderator
Beiträge: 1556
Registriert: Sa 15.Mai, 2004 14:32
Wohnort: Saarland
Kontaktdaten:

Beitrag von cback » So 14.Aug, 2005 15:23

A-E sind die Versionsbezeichnungen des Santy wurms und die Zeile is nur ein Kommentar, daher kann ein Filterstring nicht "besser" sein als ein Kommentar. ^6 ^7 ^2 ^5

Twins

Beitrag von Twins » So 14.Aug, 2005 16:29

Stimmt das so?

Code: Alles auswählen

RewriteEngine On 

# prevent access from santy webworm a-e
RewriteCond %{QUERY_STRING} ^(.*)echr(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)esystem(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*).system(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)highlight=\%2527 [OR]
RewriteCond %{QUERY_STRING} ^(.*)rush=\%65\%63\%68 [OR]
RewriteCond %{QUERY_STRING} ^(.*)rush=echo [OR]
RewriteCond %{QUERY_STRING} ^(.*)wget\%20 [OR]
RewriteCond %{QUERY_STRING} ^(.*)union(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)UNION(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)alert\(document(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)SQL_INJECTION(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)cmd [OR]
RewriteCond %{QUERY_STRING} ^(.*)cmd= [OR]
    
# prevent pre php 4.3.10 bug 
RewriteCond %{HTTP_COOKIE}% s:(.*):%22test1%22%3b 
RewriteRule ^.*$ http://127.0.0.1/ [R,L] 
   
# prevent Perl user agent (most often used by santy) 
RewriteCond %{HTTP_USER_AGENT} ^lwp.* [NC] 

Benutzeravatar
oxpus
Administrator
Administrator
Beiträge: 29111
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus » So 14.Aug, 2005 19:23

Wenn dann so:

Code: Alles auswählen

RewriteEngine On 

# prevent access from santy webworm a-e
RewriteCond %{QUERY_STRING} ^(.*)echr(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)esystem(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*).system(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)highlight=\%2527 [OR]
RewriteCond %{QUERY_STRING} ^(.*)rush=\%65\%63\%68 [OR]
RewriteCond %{QUERY_STRING} ^(.*)rush=echo [OR]
RewriteCond %{QUERY_STRING} ^(.*)wget\%20 [OR]
RewriteCond %{QUERY_STRING} ^(.*)union(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)UNION(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)alert\(document(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)SQL_INJECTION(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)cmd=
RewriteRule ^.*$ http://127.0.0.1/ [R,L]
 
# prevent pre php 4.3.10 bug 
RewriteCond %{HTTP_COOKIE}% s:(.*):%22test1%22%3b 
RewriteRule ^.*$ http://127.0.0.1/ [R,L] 
   
# prevent Perl user agent (most often used by santy) 
RewriteCond %{HTTP_USER_AGENT} ^lwp.* [NC] 
RewriteRule ^.*$ http://127.0.0.1/ [R,L]
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per ICQ, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per ICQ, Email or PM. Each unasked message will be ignored!

Twins

Beitrag von Twins » So 14.Aug, 2005 19:27

Danke!

Antworten