Eine einfache IDOR-Kontoübernahme

Dec 05 2022
Erste Schritte mit IDOR, Was ist IDOR? IDOR bezieht sich auf „Insecure Direct Object Reference“, was bedeutet, dass Sie Zugriff auf etwas erhalten, das für Sie nicht zugänglich sein soll, oder dass Sie nicht über die richtigen Berechtigungen verfügen, um diese Aktion in der Webanwendung auszuführen. Technisch gesehen handelt es sich um ein Zugriffskontrollproblem, das auftritt, wenn eine Anwendung vom Benutzer bereitgestellte Eingaben verwendet, um direkt auf Objekte zuzugreifen, ohne dass eine Validierungsprüfung durchgeführt wird, um festzustellen, ob die Anforderung vom vorgesehenen Benutzer stammt oder nicht.

Erste Schritte mit IDOR, Was ist IDOR?

Bildquelle: https://avatao.com/

IDOR bezieht sich auf „Insecure Direct Object Reference“, was bedeutet, dass Sie Zugriff auf etwas erhalten, das für Sie nicht zugänglich sein soll, oder dass Sie nicht über die richtigen Berechtigungen verfügen, um diese Aktion in der Webanwendung auszuführen. Technisch gesehen handelt es sich um ein Zugriffskontrollproblem, das auftritt, wenn eine Anwendung vom Benutzer bereitgestellte Eingaben verwendet, um direkt auf Objekte zuzugreifen, ohne dass eine Validierungsprüfung durchgeführt wird, um festzustellen, ob die Anforderung vom vorgesehenen Benutzer stammt oder nicht. IDOR kann weiter mit der horizontalen Privilegieneskalation [Ausnutzung des Anwendungsbenutzerpools] und der vertikalen Privilegieneskalation [Ausnutzung des Administratorbenutzers] zusammenhängen.

Bildquelle: https://www.business2community.com/

Nehmen wir also an, dass der Programmname example.com lautet , da es sich um ein privates Programm handelt. Anfangs konnte ich kein Problem auf der Hauptdomain finden und gab später auf, nachdem ich drei Duplikate erhalten hatte, da es sich um ein drei Jahre altes privates Programm handelte und ich die Einladung etwa im Oktober 2019 erhielt.

Später im neuen Jahr 2020 begann ich mit einer neuen Stimmung blindlings mit der richtigen Herangehensweise und Methodik nach Schwachstellen im selben Programm zu suchen. Ich warf einen Blick auf den Umfang des Programms und sah, dass es nur wenige Subdomains gab, die meine Aufmerksamkeit erregten, da es keine gab Bekannte Sicherheitslücken, daher dachte ich, es wäre eine gute Gelegenheit für mich, sie zu beheben.

Innerhalb von zwei Stunden entdeckte ich vier Sicherheitslücken, zu denen auch die Kontoübernahme gehörte. Mal sehen, wie die Vorgehensweise bei der Entdeckung war. Also habe ich zuerst die Anmeldeseite, die Registrierungsseite und die Seite „Passwort vergessen“ getestet. Beim Testen auf das vergessene Passwort habe ich gesehen, dass, wenn der Benutzer das Passwort in ein neues Passwort ändert, der E-Mail-Parameter im Anforderungstext zusammen mit dem neuen Passwort und dem Parameter „Neues Passwort bestätigen“ vorhanden war. Also dachte ich mir, warum ich die E-Mail-Adresse nicht in die einer anderen Person ändern sollte E-Mail-ID und schließlich, als ich dasselbe tat, erhielt ich vollen Kontozugriff auf das geänderte E-Mail-Konto.

Ursprüngliche Anfrage:-

POST /login/internalResetPasswordSubmit?Toketoken=random_char&m=1234&nid=random_char HTTP/1.1
Host: subdomain.example.com
Cookie: all_required_cookies
{"email":"[email protected]","password":"new_passwd","confirmPassword":"new_passwd"}

POST /login/internalResetPasswordSubmit?Toketoken=random_char&m=1234&nid=random_char HTTP/1.1
Host: subdomain.example.com
Cookie: all_required_cookies
{"email":"[email protected]","password":"new_passwd","confirmPassword":"new_passwd"}

Die Wirkung kann erhöht werden, indem das Passwort des Administratorkontos geändert wird, sodass vollständiger Zugriff auf das Administratorkonto erhalten wird.

Ich habe dies am 28. Januar um 12:30 Uhr IST gemeldet

Ich erhielt am Morgen die Antwort vom Team, dass die Replikation nicht möglich sei, und bat mich, das von ihnen erstellte Testkonto zu übernehmen. Deshalb wollte ich ihnen so schnell wie möglich antworten, aber als ich die Kommentare zu meinem Bericht erhielt, war ich noch im College und beschloss, das Problem in unserem College-Labor zu reproduzieren. Dafür habe ich es irgendwie geschafft, die Tools und Voraussetzungen in unserem Labor einzurichten College-Computer und als alles fertig war, habe ich schließlich dasselbe reproduziert und das Passwort des vom Bugcrowd-Team erstellten Testkontos geändert, das Profil mit meinem Benutzernamen zum Proof of Concept bearbeitet und den Bericht gesendet.

Innerhalb von 5 Minuten wurde der Bericht selektiert und die Priorität wurde auf P1 gesetzt

Und am nächsten Tag vergab das Unternehmen die Prämie für meine Einsendung, die im obigen Screenshot zu sehen ist.

Das war's also fürs Erste. Vielen Dank fürs Lesen. Ich hoffe, dass Ihnen dieser Inhalt gefallen hat. Wir werden Sie im nächsten kommenden Blog-Beitrag mit einem neuen Lern- und Erfahrungsschatz treffen!!!

Wenn Sie mehr über mich erfahren möchten, besuchen Sie diese Website