NATAS, GRA CTF 20-23

NATAS, GRA CTF 20-23

NATAS20:

Link do zalogowania: http://natas20.natas.labs.overthewire.org/index.php
Login: natas20, password: eofm3Wsshxc5bwtVnEuGIlr7ivb9KABF

Poniżej kod strony:

Analiza kodu źródłowego pokazuje, że możemy wykorzystać funkcję debug,
http://natas20.natas.labs.overthewire.org/index.php?debug

Następnie sprawdzamy dalej kod źródłowy, poniżej warunek aby hasło do kolejnego poziomu zostało wyświetlone.

oraz

Potrzebne są zatem dwie zmienne zapisane w danych sesji. Potrzebne jest ustawienie zmiennej name na admin oraz admin na 1. Dodatkowo w kodzie strony jest dodany znak nowego wiersza po pierwszy parametrze. Wklejam zatem poniższy ciąg do paska URL:

Pierwszy ciąg cyfr po znaku % to znak nowego wiersza, drugi ciąg to spacja. U mnie musiałem wkleić powyższy ciąg dwa razy i dostałem rozwiązanie.

Hasło do kolejnego poziomu to IFekPyrQXftziDEsUr3x21sYuahypdgJ

NATAS21:

Link do zalogowania: http://natas21.natas.labs.overthewire.org/index.php
Login: natas21, password: IFekPyrQXftziDEsUr3x21sYuahypdgJ

Strona składa się z dwóch elementów, cześć 1:

Część 2:

Z kodu źródłowego pierwszego skryptu można zauważyć interesujący zapis, który jest odpowiedzialny za podanie hasła :

Następnie możemy zauważyć wrażliwy kod:

Powyższy kod pozwala na pobieranie danych ze zmiennej sesji, zatem możemy wstrzykiwać dowolne dane poprzez parametr GET w zapytaniu do strony. Jeżeli w stronie z listingu nr 2 wykonam zapytanie:

To pojawia się ciastko, PHPSESSID o wartości 64e9fs1ld9qaki0dnhiei1f336
Następnie należy dodać to ciastko na stronę nr 1. W tym celu po wpisaniu poprzedniego linku klikam na link do strony poprzedniej i mam hasło do następnego poziomu:

Hasło do następnego poziomu to chG9fbe1Tq2eWVMgjYYD1MsfIvN461kJ

NATAS22:

Link do zalogowania: http://natas22.natas.labs.overthewire.org/index.php
Login: natas22, password: chG9fbe1Tq2eWVMgjYYD1MsfIvN461kJ

Kod strony przedstawia się poniżej:

Najbardziej interesujący fragment to:

W parametrze GET jest możliwość wpisania zmiennej revelio, która jeżeli wynosi 1 to podglądamy hasło do kolejnego poziomu:

Wynikiem zapytania jest :

NATAS23:

Link do zalogowania: http://natas23.natas.labs.overthewire.org/index.php
Login: natas23, password: D0vlad33nQF0Hz2EP255TP5wSW9ZsRSE

Poniżej kod strony:

Najciekawszy fragment skryptu to:

Hasło do formularza musi spełnić dwa warunki : posiadać w sobie ciąg „iloveyou” oraz być liczbą większą od 10. Jak zatem to zrobić ??

Najpierw należy zrozumieć jak php sprawdza czy ciąg jest liczbą. Sprawdza wpisywany ciąg po każdym znaku od początku i ucina gdy napotka pierwszą literę. Zatem należy wpisać najpierw ciąg cyfr, które będą reprezentowały liczbę większą od 10, a następnie iloveyou

The credentials for the next level are:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.