{"id":31,"date":"2006-08-10T10:18:17","date_gmt":"2006-08-10T09:18:17","guid":{"rendered":"http:\/\/www.streeck.com\/blog\/archives\/2006\/08\/10\/safety-first-register_globalsoff\/"},"modified":"2006-08-10T10:23:08","modified_gmt":"2006-08-10T09:23:08","slug":"safety-first-register_globalsoff","status":"publish","type":"post","link":"https:\/\/www.streeck.com\/blog\/2006\/08\/10\/safety-first-register_globalsoff\/","title":{"rendered":"Safety First! register_globals=off"},"content":{"rendered":"<p>Nachdem ich unsanft auf eine register_globals verwandte Sicherheitsl\u00fccke im Joomla-Component <a class=\"outsidelink\" href=\"http:\/\/www.joomlapolis.com\/\">Community Builder<\/a> aufmerksam gemacht worden bin (nach Analyse des access Logs, und der eingeschleusten Backdoors ist dieser Fehler aufgrund meiner Hinweise <a class=\"outsidelink\" href=\"http:\/\/www.joomlapolis.com\/content\/view\/1538\/37\/\">nun vom CB-Entwickler geschlossen worden<\/a>) habe ich mich entschlossen, nicht mehr mit register_globals=on leben zu wollen.<\/p>\n<p>Viele Provider bieten noch immer das etwas \u00e4ltere PHP4 an, und da register_globals hier standardm\u00e4\u00dfig eingeschaltet ist und viele Programme mit der Erwartung dieser Einstellung geschrieben worden sind, \u00e4ndern dass die Provider auch nicht. Die Situation wird selbst f\u00fcr Wissende nicht besser, da es bei vielen Providern aufgrund ihrer PHP-Apache Einbindung und sonstiger Konfigurationsdetails nicht m\u00f6glich ist, dies auf einer per-Account-Basis zu \u00e4ndern. So auch bei 1&#038;1.<\/p>\n<p>Doch \u00fcber Umwege geht es bei 1&#038;1 dann doch. Dieser Umweg, hei\u00dft PHP5 \u2013 wo register_globals standardm\u00e4\u00dfig ausgeschaltet ist! Bei 1&#038;1 sind sowohl PHP4 wie auch PHP5 installiert, das erste f\u00fchrt Dateien aus die die .php Endung haben, das zweite wird bei der .php5 Endung aktiviert. Also: man \u00e4ndere das Dateiendungsmapping von Apache, und schon wird alles vom wesentlich sichereren PHP5 ausgef\u00fchrt.<\/p>\n<p>Wie? Ganz einfach: in das Hauptverzeichnis eine .htaccess-Datei mit folgender Zeile:<br \/>\n<code><br \/>\nAddType x-mapp-php5 .php<br \/>\n<\/code><\/p>\n<p>Nat\u00fcrlich bringt diese Ver\u00e4nderung die Gefahr mit sich, dass manche \u00e4ltere Skripte nicht einwandfrei laufen, denn f\u00fcr PHP4 geschriebener Code ist nicht notwendigerweise aufw\u00e4rtskompatibel zur Version 5 des Parsers. Ich selbst stie\u00df aber bei den neusten Versionen von WordPress, b2evo, Gallery, phpBB und Joomla auf keine Probleme. Nur ein selbstgeschriebenes Progi mu\u00dfte um zwei Anf\u00fchrungszeichen erg\u00e4nzt werden. Das ist gewiss nicht zu viel Arbeit, um 95% aller Angriffe abzuwehren und beruhigt schlafen zu k\u00f6nnen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nachdem ich unsanft auf eine register_globals verwandte Sicherheitsl\u00fccke im Joomla-Component Community Builder aufmerksam gemacht worden bin (nach Analyse des access Logs, und der eingeschleusten Backdoors ist dieser Fehler aufgrund meiner Hinweise nun vom CB-Entwickler geschlossen worden) habe ich mich entschlossen, nicht mehr mit register_globals=on leben zu wollen. Viele Provider bieten noch immer das etwas \u00e4ltere [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-31","post","type-post","status-publish","format-standard","hentry","category-web-design"],"_links":{"self":[{"href":"https:\/\/www.streeck.com\/blog\/wp-json\/wp\/v2\/posts\/31","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.streeck.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.streeck.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.streeck.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.streeck.com\/blog\/wp-json\/wp\/v2\/comments?post=31"}],"version-history":[{"count":0,"href":"https:\/\/www.streeck.com\/blog\/wp-json\/wp\/v2\/posts\/31\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.streeck.com\/blog\/wp-json\/wp\/v2\/media?parent=31"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.streeck.com\/blog\/wp-json\/wp\/v2\/categories?post=31"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.streeck.com\/blog\/wp-json\/wp\/v2\/tags?post=31"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}