Prosty IDOR do przejęcia konta

Dec 05 2022
Pierwsze kroki z IDOR, co to jest IDOR? IDOR odnosi się do Insecure Direct Object Reference, co oznacza, że ​​uzyskujesz dostęp do czegoś, co nie jest przeznaczone dla Ciebie, lub nie masz odpowiednich uprawnień do wykonania tej czynności w aplikacji internetowej. Z technicznego punktu widzenia jest to problem z kontrolą dostępu, który występuje, gdy aplikacja używa danych wejściowych dostarczonych przez użytkownika w celu uzyskania bezpośredniego dostępu do obiektów bez sprawdzania poprawności, aby sprawdzić, czy żądanie pochodzi od zamierzonego użytkownika, czy nie.

Pierwsze kroki z IDOR, co to jest IDOR?

źródło obrazka: https://avatao.com/

IDOR odnosi się do Insecure Direct Object Reference, co oznacza, że ​​uzyskujesz dostęp do czegoś, co nie jest przeznaczone dla Ciebie, lub nie masz odpowiednich uprawnień do wykonania tej czynności w aplikacji internetowej. Z technicznego punktu widzenia jest to problem z kontrolą dostępu, który występuje, gdy aplikacja używa danych wejściowych dostarczonych przez użytkownika w celu uzyskania bezpośredniego dostępu do obiektów bez sprawdzania poprawności, aby sprawdzić, czy żądanie pochodzi od zamierzonego użytkownika, czy nie. Identyfikator IDOR może być dalej powiązany z poziomą [wykorzystującą pulę użytkowników aplikacji] i pionową [wykorzystującą administratora] eskalacją uprawnień.

źródło obrazu: https://www.business2community.com/

Zakładając więc, że nazwa programu to example.com, ponieważ był to program prywatny. Początkowo nie mogłem znaleźć żadnego problemu na głównej domenie, a później poddałem się po zdobyciu 3 duplikatów, ponieważ był to 3-letni program prywatny, a zaproszenie dostałem około października 2019 r.

Później w nowym roku 2020 z nowym klimatem zacząłem na ślepo szukać luk w tym samym programie z odpowiednim podejściem i metodologią, rzuciłem okiem na zakres programu i zobaczyłem, że jest tam kilka subdomen, które zwróciły moją uwagę, ponieważ nie miały znanych luk w zabezpieczeniach, więc pomyślałem, że jest to dla mnie dobra okazja, aby to rozbić.

W ciągu dwóch godzin znalazłem 4 luki, w których jednym z nich było przejęcie konta. Zobaczmy, jakie było podejście do jego odkrywania. Najpierw przetestowałem stronę logowania, stronę rejestracji i stronę Zapomniałem hasła. Podczas testowania zapomnianego hasła zobaczyłem, że gdy użytkownik zmienia hasło na nowe hasło, parametr E-mail był obecny w treści żądania wraz z nowym hasłem i parametrem potwierdzenia nowego hasła, więc pomyślałem, dlaczego nie zmienić adresu e-mail na adres innej osoby identyfikator e-mail i wreszcie, kiedy zrobiłem to samo, otrzymałem pełny dostęp do zmienionego konta e-mail.

Oryginalna prośba: -

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"}

Wpływ można zwiększyć, zmieniając hasło do konta administratora, uzyskując w ten sposób pełny dostęp do konta administratora.

Zgłosiłem to o godzinie 12:30 IST 28 stycznia

Rano otrzymałem odpowiedź od zespołu, że nie można powtórzyć i poproszono mnie o przejęcie utworzonego przez nich konta testowego. Chciałem więc odpowiedzieć im tak szybko, jak to możliwe, ale kiedy otrzymałem komentarze do mojego raportu, byłem na studiach, więc zdecydowałem się odtworzyć problem w naszym laboratorium uniwersyteckim. W tym celu jakoś udało mi się skonfigurować narzędzia i wymagania wstępne w naszym komputer uczelniany i kiedy wszystko było gotowe, w końcu odtworzyłem to samo i zmieniłem hasło do konta testowego utworzonego przez zespół Bugcrowd, zredagowałem profil z moją nazwą użytkownika w celu potwierdzenia koncepcji i wysłałem raport.

W ciągu 5 minut raport przeszedł Triaged, a priorytet został ustawiony na P1

A następnego dnia firma wyznaczyła Bounty za moje zgłoszenie, co widać na powyższym zrzucie ekranu.

To tyle na teraz i dziękuję za przeczytanie i mam nadzieję, że podobała Ci się ta treść, spotkamy się w następnym nadchodzącym poście na blogu z nową nauką i doświadczeniem!!!

Jeśli chcesz dowiedzieć się więcej o mnie, zajrzyj na tę stronę