Frage:
Ist es möglich, einen Pufferüberlauf in WordPress zu finden?
Wealot
2018-02-08 15:38:36 UTC
view on stackexchange narkive permalink

Ich hatte ein interessantes Gespräch mit einem Pentester, der mir erzählte, dass er in Wordpress einen Pufferüberlauf gefunden hatte. Die fragliche Person war wirklich fest davon überzeugt, dass dies wahr ist. Der Kunde ist etwas skeptisch gegenüber den technischen Fähigkeiten der Pentesting-Firma und hat mich nach meiner Meinung gefragt.

Die Frage, die ich habe, lautet also: Hat jemand jemals gehört, dass jemand in WordPress einen Pufferüberlauf gefunden hat, indem er einfach einen gemacht hat? Anfrage an ein PHP bekommen?

Meine Meinung: Wenn dies wahr wäre, hätte er einen Pufferüberlauf im PHP-Interpreter gefunden, und das wäre riesig. Ich glaube also nicht, dass es wahr ist.

BEARBEITEN: Die BOF befand sich an zwei Stellen:

  • In einer PHP-Funktion, die vom Client mit derselben Nutzlast erstellt wurde als XSS-Sicherheitslücke (also so etwas wie 123 "> alert (0);

  • Im wp_session-Token mit nur ein paar A's (~ 60)

Es wurde alles extern ohne Zugriff auf den Server in einem routinemäßigen schnellen Pentest von ungefähr 10 verschiedenen Websites durchgeführt ...

Ich werde nach einer tatsächlichen Codeüberprüfung aktualisieren über die Teile, die anfällig sein sollten

BEARBEITEN: Also habe ich die Codeüberprüfung durchgeführt und es war in der Tat eine BS-Geschichte. Nicht nur, dass die BOFs überhaupt nicht existierten, sagte er tatsächlich ein SQLi in einem Teil des Codes gefunden zu haben, der mit einer Datenbank absolut nichts zu tun hatte.

Aber zumindest die Diskussion in den Kommentaren war sehr aufschlussreich über die Möglichkeiten von BOFs dieser Art von Standardplattformen und CMS, also ich viel gelernt! Danke!

Diese Frage benötigt weitere Details."Ein Pufferüberlauf in Wordpress" kann alles und nichts sein.Seien Sie bitte genauer.
Meine 2 Pence: Es hört sich so an, als ob der Überlauf mehr als alles andere von ihrem Derrière herrührt.
Warum nicht?https://bugs.php.net/bug.php?id=75579 oder https://bugs.php.net/bug.php?id=75185
Was würde "gefunden" bedeuten?Er führte einen automatisierten Pen-Test für eine Box durch. Es stellte sich heraus, dass diese anfällig für die GHOST-Sicherheitsanfälligkeit ist (https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_ghost_scanner).Die Sicherheitslücke ist definitiv nicht "in" Wordpress (es ist nicht einmal in PHP, sondern in Glibc), aber es wird durch die xmlrpc-Oberfläche von Wordpress verfügbar gemacht.Es bedeutet nicht, dass er den Fehler entdeckt hat, sondern nur das Drehbuch.
Ich bin mir nicht sicher, warum es "riesig" wäre, einen Fehler in PHP zu finden.Es scheint ziemlich routinemäßig zu sein.
Er hat vielleicht keinen Pufferüberlauf gemeint, aber ich erinnere mich, dass vor kurzem eine DOS-Sicherheitslücke auf worpress gefunden wurde: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-6389.Möglicherweise gab es ein Missverständnis bezüglich der Begriffe "Pufferüberlauf".
Der schlechte Ruf von @JimmyJames PHP in Bezug auf Sicherheit beruht auf den unzähligen Anwendungen, die ohne Rücksicht auf die Sicherheit geschrieben wurden, häufig von unerfahrenen oder nicht qualifizierten Programmierern.Ich gebe auch zu, dass das Design der Standardbibliothek es sicherlich leicht macht, in die Fehlergrube anstatt in die Erfolgsgrube zu geraten, aber die interne Infrastruktur von PHP ist bewiesen und das Team kann gemeldete Schwachstellen schnell beheben.Sie können inkompetente White-Label-Reseller-Webhosts und nicht PHP selbst für die Größe anfälliger Distributionen verantwortlich machen.
Ich würde argumentieren, dass "Pufferüberlauf" eine andere Art ist, Exploit / 0day / Bug usw. Zu sagen
Ich habe es ein wenig bearbeitet, um zu klären, warum ich ein bisschen verdächtig bin ... Was er meinte: Er begann mir tatsächlich zu erklären, was Pufferüberläufe waren, also bin ich mir ziemlich sicher, dass er einen tatsächlichen Pufferüberlauf meinte.Außerdem sagte er, dass der Server nicht abgestürzt sei, dass der Puffer lediglich übergelaufen sei (ist das möglich?)
@user1886419 Nein, das ist es nicht.Ein Pufferüberlauf ist eine bestimmte Klasse von Sicherheitslücken.Es ist kein Oberbegriff für Bug oder Exploit.Jeder professionelle Pentester (wie im OP beschrieben) würde dies wissen.
@Xander Da ihre technischen Fähigkeiten verdächtig sind, kann es sein, dass sie den Exploit falsch benennen, um die Verständlichkeit zu verbessern Wenn Ihre Großmutter beispielsweise Spyware, Malware und Trojaner auf ihrem Computer hat, werden Sie dann die Zeit damit verbringen, zu erklären, was jeder einzelne ist und wie sie alle unterschiedlich sind?Oder würden Sie einfach sagen, dass es sich um Viren handelt, weil dies der Jargon ist, den sie versteht?
Fünf antworten:
GxTruth
2018-02-08 15:54:32 UTC
view on stackexchange narkive permalink

Da PHP die Speicherverwaltung und viele andere Dinge selbst erledigt, ist es für mich nicht wirklich sinnvoll, einen Pufferüberlauf speziell in WordPress zu finden.

Bevor ich diesen Penetrationstester diskreditiere, wäre ich Bitten Sie ihn / sie um Dokumentation des betreffenden Befundes . Da er / sie für diesen Kunden arbeitet (hört sich so an, korrigieren Sie mich, wenn ich falsch liege), ist es seine / ihre Aufgabe , dem Kunden ein solches Problem zu melden, einschließlich einer Dokumentation von mindestens a Weg, um das Problem aufzuspüren / zu reproduzieren.

Ich bin sehr skeptisch, wie Sie sagen, dass er / sie nur von außen auf den Webservice zugreifen konnte. Das Überprüfen eines Problems auf niedriger Ebene wie eines Pufferüberlaufs (der sogar weit über den Webservice oder WordPress im Allgemeinen hinausgeht) ist von außen nahezu unmöglich.

Das Ausführen eines Problems ist schwierig, selbst wenn Sie Zugriff auf das haben Quellcode, was anscheinend nicht der Fall ist (vorausgesetzt, es handelt sich nicht um einen Whitebox-Test).

PS: Wenn Sie eine Antwort vom Client / Pentester erhalten, würde ich gerne hören es. Du hast mich aus irgendeinem Grund ziemlich neugierig gemacht ...

Zum Thema: Guter Rat.Es klingt für mich nach Unsinn, und ich möchte klarstellen, wo und wie sie es gefunden haben.Zu sagen, dass sie es in Wordpress gefunden haben, klingt spezifisch für diese bestimmte Anwendung, und das scheint mir ein Stier zu sein.
Ich kann keine Beweise für * "finden, wie Sie sagen, dass er / sie nur von außen Zugang zum Webservice hatte" *.Wo ist das in der Frage?
@ThomasWeller Die Frage lautet: "Hat jemand jemals gehört, dass jemand einen Pufferüberlauf in WordPress gefunden hat, indem er nur eine GET-Anfrage an ein PHP gestellt hat?", Was bedeutet, dass der Angriff zumindest von außen erfolgt.
Danke für die Antwort.Ich sollte nicht mit Details weiterleiten: P.Er fand es extern mit nur einer GET-Anfrage unter Verwendung von Netcat und bekam einen Speicherauszug in seiner Antwort.Das war alles, was er teilen wollte und beschuldigte mich mehr oder weniger, nicht technisch genug zu sein, um es zu verstehen ... Als nächstes werde ich eine kostenlose Quellcode-Überprüfung durchführen, da ich jetzt wissen muss: P.
Aria
2018-02-08 17:14:25 UTC
view on stackexchange narkive permalink

Möglicherweise hat er in PHP oder glibc einen Pufferüberlauf gefunden, der über Wordpress ausgenutzt werden kann. Zum Beispiel gab es vor 3 Jahren eine Lücke in gethostbyname (), die über Wordpress ausgenutzt werden konnte. Es wird als GHOST-Sicherheitsanfälligkeit bezeichnet.

Wenn Sie ein sehr altes Betriebssystem ohne Updates sowie ein sehr altes Wordpress haben, könnte dies zutreffen.

Kallmanation
2018-02-08 19:56:13 UTC
view on stackexchange narkive permalink

Wie GxTruth erwähnt, führt PHP die Speicherverwaltung durch. Dies bedeutet, dass alles, was auf PHP läuft, grundsätzlich genauso sicher gegen Pufferüberläufe ist wie PHP (es sei denn, Sie tun etwas wirklich Verrücktes).

Aber PHP ist nicht 100% sicher vor Pufferüberläufen: https : //stackoverflow.com/questions/11817576/is-php-buffer-overflow-possible

Wenn dieser Pentester tatsächlich einen Pufferüberlauf gefunden hat, sollten sie dies tun Sie können genau sagen, wie Sie es reproduzieren sollen. An diesem Punkt sollten Sie in der Lage sein, dies im Code zu verfolgen. Möglicherweise wird dies durch eine zuvor gepatchte Version von WP / PHP verursacht. Stellen Sie immer sicher, dass Sie über die neuesten Patches in Ihrem gesamten Tech-Stack auf dem Laufenden sind.

Wenn sich herausstellt, dass dies ein Fehler in den neuesten Versionen ist, sammeln Sie die relevanten Informationen und legen Sie die entsprechenden Fehlerberichte ab. Sie können die Leute, die PHP entwickeln, hier benachrichtigen: http://bugs.php.net/. Stellen Sie sicher, dass Sie Ihren Fehler als sicherheitsrelevant kennzeichnen. Es wäre auch wichtig, dies zuerst zu lesen: https://wiki.php.net/security. Melden Sie dies auch WordPress oder Entwicklern von Plugins / Themes von Drittanbietern, die betroffen sind, damit diese Maßnahmen ergreifen können, um das Problem zu beheben, während PHP selbst gepatcht ist.


Und wenn dies ein Problem ist So neugierig wir auch sein mögen, nicht öffentlich darüber zu berichten, bis die Betreuer des betroffenen Codes die Möglichkeit haben, das Problem zu beheben, da dies viele Websites im Internet betrifft und nicht nur deine.

Luc
2018-02-09 15:12:37 UTC
view on stackexchange narkive permalink

Es ist wahrscheinlich einer dieser vier:

  • Er kennt möglicherweise nicht den richtigen Namen und nennt so etwas wie Hashdos einen "Pufferüberlauf", weil er das Array so weit ausfüllt, dass es wird reagiert nicht oder stürzt ab.
  • Er hat möglicherweise einen Pufferüberlauf in PHP gefunden und nennt ihn für Laien "in Wordpress", weil die Leute möglicherweise nicht wissen, dass sie PHP unter der Haube ausführen und es nur als Wordpress kennen.
  • Er hat möglicherweise einen Pufferüberlauf für PHP gefunden, der über Wordpress ausgenutzt werden kann.
  • Er hat möglicherweise keine Ahnung, wovon er spricht.

Ich würde sagen, dass Letzteres bei weitem am wahrscheinlichsten ist.

Manjula
2018-02-09 23:17:35 UTC
view on stackexchange narkive permalink

Möglicherweise hat er einen Pufferüberlauf im Webserver (z. B. Apache HTTPD) selbst gefunden, anstatt in PHP oder Ihrer Anwendung. Zum Beispiel https://www.cvedetails.com/cve/CVE- 1999-0071 / "Überlauf des Apache-httpd-Cookie-Puffers für Versionen 1.1.1 und früher.", Dieses CVE stürzt die untergeordnete Apache-Instanz ab, falls der Server mod_cookie verwendet, um ein Cookie in der HTTP-Antwort zu ändern Der Angreifer hat eine lange Zeichenfolge in den entsprechenden Cookie-Wert eingefügt. Dies hat den Absturz verursacht.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...