Page 1 of 1
Apache2 querys filtern/einschränken
Posted: 2005-06-30 23:20
by [gk]nichts
Huhu,
ich wollte mal fragen wie ich die apache2 querys ein wenig filtern kann. Konkret spiele ich damit auf einige Wurmangriffe an, die sich in meinen apache2 logs folgendermaßen niederschlagen:
Code: Select all
209.63.57.147 - - [30/Jun/2005:01:54:45 +0200] "GET /forum/viewtopic.php?p=3864&highlight=%2527%252Esystem(chr(119)%252Echr(103)[...snip...] HTTP/1.0" 200 24814 "-" "Mozilla/4.0"
Was da genau übermittelt wird weiß ich nicht genau, scheint glaube ich aber ein perl script zu sein hab mal mit ner ascii tabelle ein paar zeichen übersetzt :P
Die Operation an sich wird ja bei aktiviertem Safe_mode generell unterbunden, da die Funktion system() geschützt ist. Richtig? Leider brauche ich mindestens einen webaccount mit deaktiviertem Safe_mode wodurch ich natürlich dringend alternativen brauche :)
Habe mit dem gedanken gespielt die Funktionen system und chr via php.ini zu verbieten aber das ist sicherlich nicht die Ideallösung, da ich dann gleich exec usw. mit draufschmeissen darf. Habe auch teilweise rewrite rules gesetzt die aber leider in dem Fall nicht greifen, da alles im ascii code verschlüsselt übermittelt wird :( Hat jemand von euch eine andere Idee und könnte mir das evtl erklären?
[EDIT by Joe User: String gekürzt]
Re: Apache2 querys filtern/einschränken
Posted: 2005-06-30 23:52
by Roger Wilco
[GK]Nichts wrote:ich wollte mal fragen wie ich die apache2 querys ein wenig filtern kann.
Such mal nach mod_security und Hardened PHP. Aber eins vorneweg: Das hilft auch nicht gegen schlechte Software.
Re: Apache2 querys filtern/einschränken
Posted: 2005-07-01 00:25
by [gk]nichts
mit schlechter Software meinst du wohl die seite über die der Angriff lief? :P
Hab mir mod_security bereites angesehen und es klingt im ersten Moment sehr gut :) Das Problem ist nur das ich vor ewigkeiten mal den Versuch mein php selbst zu kompilieren, aufgegben habe. Und ein rpm konnte ich bisher nich finden :(
zu Hardened PHP weiß ich nicht viel, versuche mich gerade schlau zu machen
Edit: Hab mal die offizielle Seite angesurft, scheint auch recht interessant zu sein. Gib es eurerseits nen tip für mich welches ich mir zulegen sollte (falls ich es einkompiliert kriege? :P)
Gibt es evtl. noch andere möglichkeiten solche verschachtelungen zu unterbinden?
Re: Apache2 querys filtern/einschränken
Posted: 2005-07-01 09:50
by Joe User
Es handelt sich um eine Variante des Santy-Wurms (wurde Ende 2004 als Exploit für die phpBB-Highlight-Lücke geschrieben), welche sich unter Anderem durch folgende Rewrites blocken lässt:
Code: Select all
<IfModule mod_rewrite.c>
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 0
RewriteEngine On
RewriteCond %{QUERY_STRING} (.*)wget%20 [NC,OR]
RewriteCond %{QUERY_STRING} (.*)echr(.*) [NC,OR]
RewriteCond %{QUERY_STRING} (.*)esystem(.*) [NC,OR]
RewriteCond %{QUERY_STRING} {.*}passthru{.*} [NC,OR]
RewriteCond %{QUERY_STRING} (.*)highlight=%2527 [NC,OR]
RewriteCond %{QUERY_STRING} %70%61%73%73%74%68%72%75 [NC,OR]
RewriteCond %{QUERY_STRING} (.*)rush=%65%63%68 [NC,OR]
RewriteCond %{QUERY_STRING} (.*)rush=echo [NC]
RewriteRule .* http://256.256.256.256/ [R=301,L]
</IfModule>
Re: Apache2 querys filtern/einschränken
Posted: 2005-07-01 09:56
by tekbaron
Gibt es eine Sammlung von solchen Rules ? sodas man schonmal die Allgemeinen Angriffe blocken kann ?
Joe User wrote:Es handelt sich um eine Variante des Santy-Wurms (wurde Ende 2004 als Exploit für die phpBB-Highlight-Lücke geschrieben), welche sich unter Anderem durch folgende Rewrites blocken lässt:
Code: Select all
<IfModule mod_rewrite.c>
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 0
RewriteEngine On
RewriteCond %{QUERY_STRING} (.*)wget%20 [NC,OR]
RewriteCond %{QUERY_STRING} (.*)echr(.*) [NC,OR]
RewriteCond %{QUERY_STRING} (.*)esystem(.*) [NC,OR]
RewriteCond %{QUERY_STRING} {.*}passthru{.*} [NC,OR]
RewriteCond %{QUERY_STRING} (.*)highlight=%2527 [NC,OR]
RewriteCond %{QUERY_STRING} %70%61%73%73%74%68%72%75 [NC,OR]
RewriteCond %{QUERY_STRING} (.*)rush=%65%63%68 [NC,OR]
RewriteCond %{QUERY_STRING} (.*)rush=echo [NC]
RewriteRule .* http://256.256.256.256/ [R=301,L]
</IfModule>
Re: Apache2 querys filtern/einschränken
Posted: 2005-07-01 10:38
by Joe User
Tekbaron wrote:Gibt es eine Sammlung von solchen Rules ? sodas man schonmal die Allgemeinen Angriffe blocken kann ?
http://www.modsecurity.org/
Re: Apache2 querys filtern/einschränken
Posted: 2005-07-01 13:18
by [gk]nichts
Jau, die Rules habe ich bereits gesetzt nur mit
http://127.0.0.1 anstelle von
http://256.256.256.256/ . Wo genau ist da nun der Unterschied? Ersteres schickt die anfrage an den localhost glaub ich, oder? Zweiteres müsste sie ins Nirvana jagen?
Achja ne idee wie ich testen kann ob das ganze auch richtig klappt?
Re: Apache2 querys filtern/einschränken
Posted: 2005-07-01 13:25
by Joe User
[GK]Nichts wrote:Ersteres schickt die anfrage an den localhost glaub ich, oder? Zweiteres müsste sie ins Nirvana jagen?
Richtig.
[GK]Nichts wrote:Achja ne idee wie ich testen kann ob das ganze auch richtig klappt?
Exploit besorgen, anpassen, anwenden...