Poziom: Średni
Każdy od czegoś zaczynał. My dzisiaj zaczniemy przygodę z JPortalem - powędrujemy przez kolumny, tabele, aż w końcu dojdziemy do celu - loginu i hasła administratora strony
Co potrzebujemy:
- Podstawową wiedzę o SQL Injection ( union select ),
- Stronę opartą na CMS'ie JPortal 2,
- Myszkę, klawiaturę, internet, po wejściu we wprawę ok. 2 min. na rozwalenie stronki.
Zaczynamy ! Najpierw potrzebujemy jakiejś strony opartej na JPortalu. Dlaczego ? Ponieważ ten CMS jest dziurawy jak ser szwajcarski. I to już nie moja opinia - ale widoczny fakt ! Ale nie o tym chcę pisać. Ok, powrót do tematu. Skorzystamy z Google Doorka
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
Takie zapytanie do wujka google'a zwróci nam masę stron ( polskich i zagranicznych ) opartych na tym CMS'ie. Wybieramy 1 na przynętę - aby nie była to jakaś zwykła stronka, wezmę taką z domeną .PL, czyli posłużymy się przykładem:
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
No dobrze, stronę już mamy, co dalej ? Musimy teraz znaleźć błąd. Na czym to polega - musimy spowodować, że baza danych zwróci wartość błędną po podaniu do niej nieprawdziwego zapytania, np. id=-1. Jak wiemy - może być 1 post, 2 post, ale nie ma -1 posta W przypadku JPortala znajdziemy błąd w każdym ( prawie ) zapytaniu ID - nie jest ono filtrowane. No dobrze, więc zobaczmy coś takiego:
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
Wyświetli się sama strona - bez żadnych danych. Po prostu tj. pusty artykuł. Wywołajmy błąd, czyli zakończmy polecenie SQL.
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
Co widzimy ?
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
To będzie nasz przewodnik. Teraz musimy zbudować zapytanie z union select ( SQL Injection ).
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
Zapytanie to daje nam to samo co zapytanie z -1'. Ale zauważcie, że tu już nie ma '. Teraz pojawiło się polecenie union select. A oto dokładne wyjaśnienie co jest czym:
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
No, teraz czas na dodawanie po kolei tabel tak długo, aż błąd się nie pojawi. Jedziemy po kolei:
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
Dalej mamy błąd. Ale teraz:
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
błędu nie ma ! Zniknął. Zamiast tego obok "Artykuły >" pojawiła się liczba 2:
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
Ta 2 to numer tabeli, w który możemy "wstrzyknąć" nasz kod. No to zaczynamy. Wywołamy polecenie concat:
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
Polecenie nie zostało wykonane. Zamiast tego znów mamy error. Dlaczego ? Bo nie ma w zapytaniu skąd ma pobrać te dane. Oto poprawne zapytanie:
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
Objaśnienie:
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
No to mamy:
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
Pamiętajcie, że hasło jest zakodowane w algorytmie MD5 ! Musicie je odkodować. Polecam stronkę:
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
Wklejamy hash, przepisujemy kod z tokena, i już mamy wynik !
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
Czyli jak widać:
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
Teraz wystarczy wejść w panel administratora:
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
I zalogować się na zdobyte dane Prawda że proste ? I szybkie. Wbrew pozorom nie jest to takie trudne, na jakie wygląda. Po kilku próbach sami będziecie poprawiać swoje błędy, i śmiać się z twórców JPortala Na koniec małe informacje:
1. W JPortalu liczba kolumn zawsze ( 99,99% ) wynosi 5. Czyli zawsze wpisujemy 1,2,3,4,5--
2. Aby wgrać shella, wchodzimy na panel administratora, w menu klikamy "Download", i w "Uploaderze" podajemy ścieżkę do shella ( do shell.php ). Następnie przechodzimy do http://www.strona.pl/uploads/download/n … hella.php. I już Na naszym przykładzie jest to:
[Musisz być zalogowany, aby przeczytać ukrytą wiadomość]
3. Nie ruszajcie podaje w przykładzie strony - każdy chce zobaczyć ! Nie zmieniajcie nic, po prostu uszanujcie to, że inni też chcą z tego skorzystać.
4. Ten tutorial został stworzony WYŁĄCZNIE W CELACH EDUKACYJNYCH
Offline