Tag-Archive for » Request «

HTTP-Header verwirren Internetserver

James Kettle von der Firma Portswigger hat auf der Black-Hat-Konferenz in Las Vegas unter dem Titel „Targeting HTTP’s Hidden Attack-Surface“ zahlreiche Varianten von sogenannten Server-Side-Request-Forgery-Angriffen (SSRF) gezeigt.

Der Sicherheitsforscher setzte dabei vor allem darauf, mit intelligent gewählten HTTP-Headern Webserver und Loadbalancer durcheinander zu bringen.

SSRF-Angriffe in der Praxis

Kettle demonstrierte einige Angriffe, die darauf basieren, an einen Server einen HTTP-Request mit ungültigem Host-Header zu abzusenden. Viele Systeme leiten solche Anfragen einfach nur weiter, ganz egal, wohin sie gehen. Bei Yahoo gelang es zum Beispiel auf diese Weise, Zugriff auf ein internes System zu erlangen. Im Host-Header wurde dazu einfach eine interne IP eingefügt.

Das Yahoo-System sprach offenbar nicht HTTP, sondern ein einfaches, zeilenorientiertes Protokoll. Dabei wurde die Antwort dieses Systems auch zurückgeschickt. So führte ein HTTP-Request mit der normalerweise nicht existenten Help-Methode dazu, dass das System, bei dem es sich um einen Apache Traffic Server und eine Software zum Cachen von HTTP-Verbindungen handelte, eine Hilfe ausgab. Mit seinem Angriff hätte Kettle Daten direkt in den internen HTTP-Cache von Yahoo schreiben können…

Britisches Zensursystem antwortet auf Header

Bei einem von ihm selbst kontrollierten Server bekam Kettle Antworten, allerdings nur bei HTTP- und nicht bei HTPS-Verbindungen. Die Antwort kam allerdings nicht von seinem eigenen System, sondern von dem britischen Zensursystem, das früher mal Bilder zum Kindesmissbrauch blockieren sollte und inzwischen hauptsächlich für die Verfolgung von Copyright-Verstößen benutzt wird.

Für Webworker mit Verantwortung für Internetserver könnte es eine gute Idee sein, einmal zu testen, wie die eigenen Server auf solche Header reagieren.

Sicherheitsupdates für Ruby on Rails

rubyDas Entwickler-Team von Rails hat jetzt Sicherheitsupdates für die letzten drei Hauptserien veröffentlicht. Die Updates mit den Versionsnummern 5.0.0.1, 4.2.7.1 und 3.2.22.3 des Webframeworks beheben eine Schwachstelle in Action View.

Über diese Sicherheitslücke waren Angriffe möglich, weil Text, der als html_safe deklariert ist, keine Escape-Sequenzen für Anführungszeichen erhält. Das wird immer dann zum Problem, wenn Programme Benutzereingaben ohne weitere Überprüfung übernehmen wie bei dem nach folgendem Beispiel aus dem Bericht zu der als CVE-2016-6316 (Common Vulnerabilities and Exposures) markierten Schwachstelle:

content_tag(:div, "hi", title: user_input.html_safe)

Der Bericht weist auch darauf hin, dass einige der Helper-Funktionen wie beispielsweise sanitize Strings bei der Weitergabe als html_safe markieren und dadurch auch betroffen sind. Neben dieser Schwachstelle, die in allen Hauptversionen von 3 bis 5 zu finden sind, gibt es noch ein weiteres Problem, das nur die 4.2.x-Serie betrifft.

Das ist zwar weniger kritisch, erlaubt aber das Ausführen einerIS NULL-Abfrage durch das Einfügen eines [nil]-Wertes innerhalb eines Requests. Der CVE-2016-6317-Bericht weist darauf hin, dass Angreifer so keine beliebigen Werte in SQL-Abfragen einfügen, sondere nur nach NULL-Werten suchen oder WHERE-Bedingungen entfernen wollen und können.

Deshalb raten die Entwickler dringend zur Aktualisierung von Ruby on Rails. Weiterführende Informationen und die Checksummen der Updates finden Sie in der offiziellen Bekanntmachung.

POST-Anfragen können Internetserver lahmlegen

Auf dem Kongress des Chaos Computer Clubs wurde eine neue Schwachstelle von Internetservern offengelegt. Die Entwickler Alexander Klink und Julian Wälde haben das Problem entdeckt und beschrieben.

Über POST-Requests kann man gezielt Hash-Kollisionen auslösen, die die Last eines Internetservers drastisch erhöhen, und so eine DoS-Angriff fahren. Das klappt im Grunde bei allen Webservern, denn das Problem liegt in den verwendeten Scriptsprachen wie PHP, ASP oder Javascript.

Durch solche provozierten Hash-Kollisionen braucht man weniger als 100 kBit/s Bandbreite, um eine moderne CPU komplett auszulasten und einen Internetserver in die Knie zu zwingen. Als bestes Mittel dagegen gilt es, die Hash-Funktion zu randomisieren.

Einige Hersteller haben schon auf die Angriffsmöglichkeit reagiert. Microsoft bietet einen Patch für ASP.Net an, der heute erscheinen soll. Bei PHP empfiehlt sich die Absicherung mit Suhosin an. Für Tomcat gibt es ein Workaround und für Ruby einen Patch.

Category: Javascript, PHP  Tags: , , , , , , , , ,  Comments off

Googlebot lernt den Umgang mit dynamisch nachgeladenen Inhalten

Google’s Crawler Googlebot erhält gerade eine Zusatzausbildung: Er lernt, auch Inhalte, die erst mittels AJAX dynamisch nachgeladen werden, für die Indizierung zu nutzen. Diese Konstrukte werden ja auf modernen Websites immer mehr eingesetzt und der Crawler kam bisher nicht dran. Jetzt kann er sogar selbst POST-Requests auslösen, um solche Inhalte abzufragen. Wie das geht, beschreibt Google im Webmaster Central Blog.

Allerdings tauchen auch erste und nachvollziehbare Fragen der Webmaster auf. So zum Beispiel die, ob dabei nicht ungewollte Nutzeraktionen vorgegaukelt und damit die Statistiken verfälscht werden. In dem Zusammenhang erinnert Google nur an die Roboter-Steuerdatei robots.txt, mit der man das Verhalten der Webcrawler dirigieren kann.