Htaccess limit GET & PHP-Dateien

#0
13.09.2010, 23:53
...neu hier

Beiträge: 6
#1 Hallo,
mir ist folgendes passiert:
Ein Angreifer hat mittels RFI eine PHP-Shell auf meinen Webspace geladen.
Schuld daran war eine Lücke in einem PHP-Script.

Der Ordner in dem das ganze passierte, war per .htaccess geschützt.
Dummerweise aber nur für die GET - Methode. (<limit GET>;)

Bei der RFI wurde natürlich Post verwendet - wodurch die shell auch auf den webspace gelangte.

Als der Angreifer die Shell dann aufrufen wollte, gelang ihm das nicht - da die htaccess dann seinen Aufruf blockte. Er hat es danach nicht weiter versucht.

Meine Frage: Hätte er wenn er es evtl. länger versucht hätte, trotzdem irgendwie den PHP-Code ausführen können?
z.B. in dem er die Http-Methode bei seinem Aufruf abändert?

Danke und viele Grüße
eldnier
Seitenanfang Seitenende
14.09.2010, 11:25
Member
Avatar Xeper

Beiträge: 5291
#2

Zitat

Meine Frage: Hätte er wenn er es evtl. länger versucht hätte, trotzdem irgendwie den PHP-Code ausführen können?
z.B. in dem er die Http-Methode bei seinem Aufruf abändert?
Klar er hätte ja auch weiter mit POST arbeiten können, dass ist i.d.R. kein Thema - vermutlich wäre das nächste Ziel gewesen die Shell aus diesem Verzeichnis ins übergeordnete Verzeichnis zu bekommen und von dort aus aufzurufen.

Hört sich aber sehr leichtsinnig an.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
14.09.2010, 12:12
...neu hier

Themenstarter

Beiträge: 6
#3 Hallo und Danke für die Antwort.

Zitat

Klar er hätte ja auch weiter mit POST arbeiten können, dass ist i.d.R. kein Thema - vermutlich wäre das nächste Ziel gewesen die Shell aus diesem Verzeichnis ins übergeordnete Verzeichnis zu bekommen und von dort aus aufzurufen.
Ganz verstehe ich das leider nicht. Hätte er die Shell direkt ausführen können, oder hätte er dazu die Shell zwingend in einen übergeordneten Ordner schieben müssen, welcher die GET-Methode nicht mittels htaccess blockt?
Seitenanfang Seitenende
14.09.2010, 12:56
Member
Avatar Xeper

Beiträge: 5291
#4 Das wir mal das Wort Shell hier kurz darauf begrenzen müssen das man ja doch keine Laufzeit hat... ob er per GET oder POST überträgt ist im Grunde egal.
Ich hätte trotzdem versucht das Script in ein Verz. zu bewegen welches nicht von der htaccess geschützt wird.
Aber ist ja auch egal, er hat offensichtlich nichts weiteres mehr versucht.

Das einzige was es dir sagen soll ist das du besser auf deine Scripte aufpassen musst. ;)
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
14.09.2010, 13:17
...neu hier

Themenstarter

Beiträge: 6
#5

Zitat

Das wir mal das Wort Shell hier kurz darauf begrenzen müssen das man ja doch keine Laufzeit hat... ob er per GET oder POST überträgt ist im Grunde egal.
Gemeint ist eine PHP-Shell ala c99 , r57 etc.
Also auf Deutsch, er hätte wenn er den Aufruf mittels POST übertragen hätte, die Login-Maske seiner shell vorgefunden und sich dann dort einloggen können?

Zitat

Ich hätte trotzdem versucht das Script in ein Verz. zu bewegen welches nicht von der htaccess geschützt wird.
Aber ist ja auch egal, er hat offensichtlich nichts weiteres mehr versucht.
Darf ich dich trotzdem fragen, weshalb? Ich würde die Problematik gerne etwas nachvollziehen können, um mich in Zukunft ggf. besser zu schützen.

Zitat

Das einzige was es dir sagen soll ist das du besser auf deine Scripte aufpassen musst.
Ja, es handelt sich bei dem Script um einen ADServer. Es gibt dazu leider kaum bezahlbare Alternativen. Ich weiß, dass das Script auch in der Vergangenheit schon anfällig war und desöfteren angegriffen wurde. Deshalb habe ich das schon auf einen anderen Webspace ausgelagert, wo sonst nichts läuft - und habe entsprechende, eigene Schutzmechanismen wie eben z.B. htaccess-Abfragen eingebaut. Bislang hat das einigermaßen funktioniert und ich habe noch keinen Schaden genommen. Auch wenns diesmal vermutlich sehr knapp war!

Andere wie z.B. Thepiratebay und die offizielle WebPräsenz des Tools hats übrigens erwischt.
Seitenanfang Seitenende
14.09.2010, 13:40
Member
Avatar Xeper

Beiträge: 5291
#6

Zitat

Gemeint ist eine PHP-Shell ala c99 , r57 etc.
Also auf Deutsch, er hätte wenn er den Aufruf mittels POST übertragen hätte, die Login-Maske seiner shell vorgefunden und sich dann dort einloggen können?
Ich kenne die ganzen PHP-Shells nicht, es ist aber möglich Befehle auch über POST zu übertragen - eventuell war er ja nicht skilled genug dazu.
Kann auch sein das so eine vorgefertigte Shell per POST nicht funktioniert, dass ändert aber nichts daran das du eine Sicherheitslücke bei dir hast.

Zitat

Darf ich dich trotzdem fragen, weshalb? Ich würde die Problematik gerne etwas nachvollziehen können, um mich in Zukunft ggf. besser zu schützen.
Siehe oben - wurde ja damit beantwortet.

Zitat

Ja, es handelt sich bei dem Script um einen ADServer.
Was ist ein ADServer? Sry aber kenn nicht alles was aus dem Webbereich kommt.
Server im Zusammenhang mit PHP Scripte hört sich aber schon seltsam an. ;)
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
14.09.2010, 13:54
...neu hier

Themenstarter

Beiträge: 6
#7

Zitat

Ich kenne die ganzen PHP-Shells nicht, es ist aber möglich Befehle auch über POST zu übertragen - eventuell war er ja nicht skilled genug dazu.
Kann auch sein das so eine vorgefertigte Shell per POST nicht funktioniert, dass ändert aber nichts daran das du eine Sicherheitslücke bei dir hast.
Alles klar. Danke!
Kann auch sein, dass es ihn einfach zuviel Zeit gekostet hätte, da rumzudoktorn und er sich lieber ne andere Seite geschnappt hat. Seiten welche das Script einsetzen gibts wie Sand am Meer.

Zitat

Was ist ein ADServer? Sry aber kenn nicht alles was aus dem Webbereich kommt.
Server im Zusammenhang mit PHP Scripte hört sich aber schon seltsam an. ;)
Ein ADserver ist ein Script welches die Werbemitteleinblendungen auf einer Webseite steuert.
Seitenanfang Seitenende
14.09.2010, 13:58
Member
Avatar Xeper

Beiträge: 5291
#8

Zitat

Ein ADserver ist ein Script welches die Werbemitteleinblendungen auf einer Webseite steuert.
Oh ADserver - nunja ich finde den Namen trotzdem unglücklich gewählt, ich bezweifle aber das eine Herstellung von so einer Software unsummen verschlingt.
(Wobei ich natürlich nicht den genauen Funktionsumfang kenne)
Aber wenn die so buggy ist würd ich die nicht mehr einsätzen, ist es open-source oder von welchem Hersteller?
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
14.09.2010, 15:31
...neu hier

Beiträge: 9
#9 openX ist relativ sicher und gut gepflegt soweit ich weiss. Es läuft mit PHP und spricht deutsch, wenn das überhaupt das ist, was Du meintest.

edit:
Hier nochmal der link zum community-server(kostenlos)
Dieser Beitrag wurde am 14.09.2010 um 15:44 Uhr von marzlmOIsel editiert.
Seitenanfang Seitenende
14.09.2010, 15:54
...neu hier

Themenstarter

Beiträge: 6
#10 Hallo marzlmOIsel,
OpenX habe ich im Einsatz ...

Mit dem relativ sicher und gut gepflegt hast du leider unrecht... Schau dir mal deren Forum an, sobald es wieder läuft.. wie da Leute am durchdrehen sind, weil es monatelang keine Patches für schwere Lücken gibt.

Dazu auch interessant:
http://www.heise.de/newsticker/meldung/Zahlreiche-Sicherheitsluecken-in-Ad-Server-OpenX-202898.html
Seitenanfang Seitenende
14.09.2010, 16:13
...neu hier

Beiträge: 9
#11 Der Heise Beitrag ist ja vom 28.01.2009 und betraf die Version 2.6.3, während die aktuelle Version 2.8.3 ist. Ein Blick auf den Issue Tracker verrät allerdings tatsächlich nicht allzu große Besserung. Aber das ist ja das tolle an open source, jeder kann die Issues fixen(wenn er kann), und mit seinem Beitrag etwas an der Situation ändern. Für mich zum Beispiel trifft das nicht so ganz zu, da ich selber eher zu den quick and dirty typies gehöre, aber poste den Zustand doch mal im Abakus Forum, da stehen die Chancen gut, daß Du einen echten coder ansprichst, welcher openX Blindvertraut betreibt. Ich habe openX mal auf ein paar alten Sachen zu laufen gehabt, und hatte keine Probleme mit hackern die mir aufgefallen wären.

Wofür bzw für wie viele sites benutzt du den ADserver denn? Nur für eigene Projekte oder als Agentur?
Seitenanfang Seitenende
14.09.2010, 16:59
...neu hier

Themenstarter

Beiträge: 6
#12

Zitat

marzlmOIsel postete
Der Heise Beitrag ist ja vom 28.01.2009 und betraf die Version 2.6.3, während die aktuelle Version 2.8.3 ist. Ein Blick auf den Issue Tracker verrät allerdings tatsächlich nicht allzu große Besserung. Aber das ist ja das tolle an open source, jeder kann die Issues fixen(wenn er kann), und mit seinem Beitrag etwas an der Situation ändern. Für mich zum Beispiel trifft das nicht so ganz zu, da ich selber eher zu den quick and dirty typies gehöre, aber poste den Zustand doch mal im Abakus Forum, da stehen die Chancen gut, daß Du einen echten coder ansprichst, welcher openX Blindvertraut betreibt. Ich habe openX mal auf ein paar alten Sachen zu laufen gehabt, und hatte keine Probleme mit hackern die mir aufgefallen wären.

Wofür bzw für wie viele sites benutzt du den ADserver denn? Nur für eigene Projekte oder als Agentur?
Gut, dann kriegst du halt noch ne aktuelle Heise-Meldung ;)
http://www.heise.de/newsticker/meldung/Webseiten-verteilen-Malware-ueber-gehackte-OpenX-Server-1078897.html

Nur für eigene Projekte. Bislang ist es bei mir ja auch gut gegangen, nicht zuletzt weil ich mich etwas mit der Software befasst habe und die Software wie schon beschrieben auf einem anderen Server als die Seiten betreibe - sodass im worst case zumindest die eigentlichen Seiten verschont bleiben.

Der Fehler in diesem Fall, lag einfach nur darin, dass ich einen Htaccess-Schutz mittels eines Generators erstellt habe, und dieser nur die GET-Methode abblockt. Mir war der htaccess Bypass einfach nicht geläufig. Wäre der .htaccess Schutz richtig gewesen, wäre der Angriff einwandfrei geblockt worden.
Seitenanfang Seitenende
02.11.2010, 11:40
...neu hier

Beiträge: 6
#13 Du solltest auch mal deine Verzeichnissrechte ändern. PHP läuft ja normalerwesie unter dem User www-data und deine Verzeichnisse sollten einem andern User gehören. Z.B. peter-ftp.

So hat der Angreifer keine Möglichkeit Dateien auf deinem Webspace abzulegen. Ausser ein Verzeichniss hat Schreibrechte (777). Wenn ein Script Schreibrechte benötigt z.B. für einen Cache Ordner kann man in diesem Ordner .php Dateien verbieten.
Seitenanfang Seitenende
Um auf dieses Thema zu ANTWORTEN
bitte erst » hier kostenlos registrieren!!

Folgende Themen könnten Dich auch interessieren: