Jak dostałem 50 € z <img>tagu . Dosłownie ominęło wszystko. (NIEOCZEKIWANA BYPASS)
<img> Nigdy nie zawodzi
Cześć ludzie,
Tu Kashif , witam w kolejnym wpisie . Na tym blogu będę dzielić się moją pierwszą $bounty . Był 14 sierpnia, kiedy szukałem płatnych programów poza hackerone, intigriti, Bug crowd. Kończę otwierając openbugbounty.com. Losowo stuknąłem w cel i zauważyłem, że zapłacili za program bug bounty, więc otworzyłem ich główną stronę internetową i zacząłem szukać xss (Mój ulubiony błąd). „Wiem, że Twoje jest RCE”
Nie zapomnij śledzić, że będę udostępniać xss przez żądanie POST w innym piśmie.
# USTALENIA#
Kilka dni temu znalazłem błąd DOM XSS w celu openbugbounty, który jest wykonywany przez żądanie POST. Dam ci znać później o POST request XSS w innym artykule.
Parametr: ?szukaj=
Lokalizacja: Wyszukiwarka blogów
#PROCES POLOWANIA (oczekiwania) #
W odniesieniu do powyższego błędu XSS. Oczekując, że dostanę kolejny xss, otworzyłem główną domenę i przewinąłem w dół, a następnie stuknąłem w opcję bloga. Następnie otwieram kolejną stronę internetową, bez dalszych testów przechodzę do opcji wyszukiwania blogów i wklejam kilka ładunków xss i sprawdzam odbicie, ale zapora ogniowa filtruje wszystkie znaki specjalne. ( <> , “ (){}' ) . Wszystkie są dobrze zakodowane, wydaje się, że nie ma szans na błąd.
Niestety nie ma szczęścia
#nieoczekiwane znalezisko#
Jedna osoba powiedziała na youtube, że podczas testowania xss najpierw sprawdź wstrzyknięcie html i spróbuj wstrzyknąć podstawowe tagi. (jak <u> , <h1> itd.) . Podczas testowania po prostu umieszczam swoje imię w pasku wyszukiwania i szukam kodu źródłowego, w którym się znajduje. I sprawdź, czy <u> jest odzwierciedlone tak, jak jest, czy nie, ale nie ma szczęścia, jest zakodowane.
#Tag <IMG> nigdy nie zawodzi#
Bez nadziei umieściłem ładunek xss przez tag IMG, ale także zakodowałem lol . I tu mamy buga. Podczas wpisywania przez pomyłkę wpisałem tylko <IMG SRC=x i jako odpowiedź otrzymałem zepsuty obrazek.
Sprawdziłem więc kod źródłowy i stwierdziłem, że wszystko jest zakodowane, ale znacznik IMG jest odzwierciedlany dwukrotnie.
#MYŚLAŁEM, ŻE MAM XSS, ALE TO MNIE PRZESZKODZIŁO#
Po powyższym znalezieniu po prostu wpisałem „onerror=alert()> ale nie wykonał . Kiedy sprawdzam kod źródłowy, tag IMG również jest zakodowany. Zostałem powstrzymany i powiedziałem:
#PONOWNIE NOWE WYZWANIE #
Ale wypróbowałem każdy możliwy ładunek znacznika img i niestety żaden z nich nie wykonuje pliku . To było moje pierwsze odkrycie w płatnym programie („ Myślę, że muszę szybko zgłosić, bo inaczej ktoś inny zgłosi i dostanę duplikat ”). Więc poddałem się i spróbowałem przesłać ten raport bez zmian, wprowadzając dowolną wartość w tagu obrazu . I dostałem tutaj kolejne wyzwanie, że nie mogę tutaj wprowadzić żadnego długiego adresu URL i pozwala on tylko na kilka znaków jako dane wejściowe do wyszukiwania.
#Rozwiązany#
Zauważyłem, że każde wejście jest odzwierciedlone w adresie URL, więc po prostu wpisałem „kashif” jako dane wejściowe i zmieniłem adres URL obrazu z kashif na prawdziwy adres URL obrazu dla poc. I zgłosiłem…
# PODDAŁAM SIĘ NA KOŃCU ALE PROSZĘ NIE PODDAWAJ SIĘ BO ZNAJDZIESZ COŚ WIELKIEGO . “
Może dostanę też xss, ale z obawy przed duplikatem zgłosiłem to tak, jak jest.
#CZAS NAGRODY#
Sprawiają, że jest to stwierdzenie o niskiej wadze i dali mi 50 € za pośrednictwem PayPal.
#BONUS #
Sprawdź wszystkie możliwe dane wejściowe, takie jak zwykłe tagi HTML i, co najważniejsze, tag graficzny. Może przyniesie ci szczęście.
Mam nadzieję, że nauczysz się z niego czegoś nowego.
Nie zapomnij śledzić, że będę udostępniać xss przez żądanie POST w innym piśmie.