Prosty IDOR do przejęcia konta
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. Identyfikator IDOR może być dalej powiązany z poziomą [wykorzystującą pulę użytkowników aplikacji] i pionową [wykorzystującą administratora] eskalacją uprawnień.
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ę

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































