Obejście filtra SSRF

Cześć, nazywam się W1C3 i dzisiaj wyjaśnię, jak uzyskać dostęp do odczytu dowolnego pliku za pomocą fałszerstwa żądań po stronie serwera (SSRF) z pominięciem filtra. To wyzwanie zostało opracowane dla WaniCTF .
Nazwa
Zrzut ekranu
Opis
Aplikacja wykonująca zrzuty ekranu z Twoich ulubionych stron internetowych.
Opis przejścia
Po wejściu na stronę można zauważyć, że jest to bardzo prosta strona. Jego jedyną funkcją jest otrzymanie adresu URL, dostęp do adresu URL za pomocą przeglądarki internetowej i zrobienie zrzutu ekranu.

W tym wyzwaniu, gdy dostarczany jest kod źródłowy, widzimy, że wykonuje on kontrolę, którą musimy ominąć, ponieważ „ HTTP ” musi być uwzględnione w naszym żądaniu, a „ PLIK ” nie może być uwzględniony.

Aby to zweryfikować, spróbujemy odczytać plik /etc/passwd , ale bez powodzenia.

Jak wspomnieliśmy wcześniej, filtr, który musimy ominąć, musi zawierać ciąg „ http ” lub nie zawierać ciągu „ plik ”.

Teraz, gdy jesteśmy na poprzednim etapie, wiedząc, że SSRF istnieje i rozumiejąc filtr, który musimy ominąć, dodamy „ File:// ” na początku i „ ../../../../flag. txt ” lub „ ../../../../etc/passwd ” do końca. Dzięki temu będziemy mogli odczytać plik „flag.txt”, aby ukończyć nasze wyzwanie.
UWAGA : Plik musi zawierać co najmniej jedną wielką literę , aby obejść filtr

Aby to ułatwić, usuniemy część danych z zapytania. W takim przypadku nasz ładunek wyglądałby tak:
File:///http/../../flag.txt
Wniosek
W tym wyzwaniu pokazaliśmy, jak ominąć prosty filtr, który próbował uniemożliwić SSRF, blokując protokół „ file ” i wymagając protokołu „ http ”. Starannie konstruując nasze żądanie z dużą literą w parametrze „ file ” i używając protokołu „ File:// ”, byliśmy w stanie odczytać dowolne pliki na serwerze.
Dziękuję za przeczytanie tego posta. Bądź na bieżąco z kolejnymi nadchodzącymi postami na blogu i śledź mnie w mediach społecznościowych, aby być na bieżąco. Pamiętaj też, że mój osobisty GitHub będzie zawierał posty publikowane w języku hiszpańskim. Do widzenia!
Github: J-W1C3
Twitter: Josewice7
Telegram: W1C3Post
Dołącz do mojego kanału Telegram, aby być na bieżąco z publikowaniem nowych postów.