Wyszukiwanie informacji część 3 - SE, trochę inne podejście |
****************************
* 31-10-2004 01:40 *
* *
* Sulucilus *
* http://www.sulucilus.fol.pl *
* *
****************************
Wstęp
Nigdy nie lubiłem włamywać się na gotowe cms (np. jportal) używając exploita. Dla mnie to żadna satysfakcja włamać się na stronę wykorzystując coś do czego sam nie doszedłem, chyba że ma to służyć większemu celu niż tylko bezmyślne napisanie newsa na stronie głównej czy jej podmienienie. Jednak z drugiej strony osoby, które tak robią w pewnym sensie robią dobrze, ponieważ zmuszają autora serwisu do ciągłej aktualizacji strony lub stworzenie własnego bezpiecznego cms.
Jak się pewnie domyślasz w tym tekście zajmiemy się stronami nie opartymi na gotowych skryptach oraz nie mające typowych dziur (include itp.). Sposób ten to chyba ostatnia możliwość na zhaczenie strony jeśli nie mogliśmy znaleźć błędów.
1. Na czym to polega
Polega to na znalezieniu na serwerze skryptu, dokumentu, pliku, czegokolwiek co umożliwiło by nam włamanie się na stronę, dostanie się do jakiegoś ciekawego katalogu itp.
2. Co trzeba umieć ?
Po pierwsze trzeba programować w czymś przynajmniej 6 miesięcy aby znać przyzwyczajenia programistów, standardowe ustawienia jakie stosują (układ folderów itp.). Jest to bardzo ważne, ponieważ dzięki temu będziemy wiedzieć gdzie, czego szukać.
Następną sprawą jaką musisz posiadać to intuicja. Jeśli jej nie masz to raczej ten sposób nic Ci nie da bo nie. Nie oszukujmy się ale jeśli stosujesz cały czas te same wyklepane sposoby nie potrafisz myśleć samodzielnie tylko liczysz na to, że znajdziesz na danej stronie błąd typu include to nie masz szans na zastosowanie tego sposobu.
3. Jak to zrobić ?
To pytanie powinno zabrzmieć od czego zacząć? Ja zaczynam od wpisania w przeglądarce następujących rzeczy po adresie strony:
admin/
admin.php
func/
inc/
functions.inc
config.inc
Jest jeszcze kilka innych ciekawych nazw, ale sam musisz do nich dojść i sam stworzyć swoją własną listę. Jeśli wyświetliło mi kod lub dostałem się do panelu admina to nie czytam dalej tylko działam ]:>
Jeśli mi się ten sposób nie powiódł lub nic nie dał (np. panel admina jest chroniony hasłem i do tego innym niż standardowe) to próbuje czegoś innego. Mianowicie szukam po obrazkach tzn. biorę właściwości danego obrazka i sprawdzam gdzie na serwerze się znajduje. Następnie odpalam ten katalog i jeśli wylistują mi się pliki to jest ok. a jak nie to szukam dalej lub próbuje do tego katalogu zastosować moją listę.
Czemu zaczynam od obrazków?
Czasem webmasterzy wrzucają tam skrypty do uploadowania obrazków, choć zdarza się to bardzo rzadko to jednak się zdarza. Tym samym sposobem próbuje także wyszukiwać w plikach z tekstem na stronie oraz w plikach do pobrania np ścieżka do ściągnięcia pliku jest następująca:
[ www ]
to odpalam ścieżkę
[ www ]
Czasem można znaleźć bardzo ciekawy soft a czasem ciekawe skrypty :D
Jeśli i to nie skutkuje biorę się za plik robots.txt, znajdujący się w głównym katalogu strony. Niby plik przygotowany specjalnie dla robotów sieciowych to można z niego wiele się dowiedzieć np. czego wyszukiwarka nie powinna zindexować(czyli dla Ciebie powinno to oznaczać do czego masz zajrzeć :D ).
Ostatnią rzeczą jaką robię (jeśli nic nie zadziałało), to próbuje tworzyć błędy w zapytaniach, tak aby pokazało mi ścieżkę do pliku gdzie powstał błąd. Dzięki temu dostałem się na bardzo ciekawe serwery :D
Jak to robie ? Mamy taki adres:
[ www ]
to w zmiennej id wstawiam jakieś niedozwolone znaki i tak samo w page. Czasem wstawiam cokolwiek i czekam na wynik. Czasami można otrzymać ciekawy komunikat np. taki:
Notice: Undefined index: 'wl_aktualnosci in /www/HTML/portal/skrypty/func.php on line 511
Wtedy pozostaje wejść do folderu portal/skrypty i poszukać słabych punktów.
To chyba wszystkie metody jakie znam albo jakie raczej chciałem udostępnić. Teraz wszystko zależy od ciebie jeśli masz dość czasu i cierpliwości to warto spróbować a jeśli nie to nie pozostaje nic innego jak włamanie się innym sposobem na serwer.
Ciekawostką jest to, że dzięki tym umiejętnościom choć nie uda nam się złamać stronki to możemy z niej ciekawe rzeczy wyciągnąć jak np. jakieś ukryte projekty, programy. Raz zdarzyło się mi nawet, że użyłem tego sposobu a tu patrzę że obok skryptu jest pliczek o tej samej nazwie ale z rozszerzeniem *.phps który zawierał skrypt, ten którego szukałem a znaleźć nie mogłem oraz dodatkowo co ciekawe zawierał w komentarzu następujący wpis:
[quote]"Steal this code"[/quote]
Przemyślenia na temat tego komentarza zostawiam wam :)
Drugą ciekawą rzeczą jaką zauważyłem, że podobne sposoby używają popularne wyszukiwarki. Gdy stworzyłem folder panelu administracyjnego o nazwie admin to po pewnym czasie(przy kolejnym indexowaniu mojej strony) został on włączony do wyników wyszukiwania. Trochę mnie to zastanowiło, ponieważ ścieżka do tego panelu nigdy nie była nigdzie podana...
4. Jak się przed tym bronić ?
Chyba najskuteczniejszymi sposobami jest zabezpieczenie każdego folderu przez nadanie odpowiednich praw(można też utworzyć w folderze odpowiedni plik .htaccess, w którym ustawimy odpowiednie przekierowania dla podanych ścieżek) lub umieszczenie wewnątrz pliku index.htm. Polecam to 2 rozwiązanie, ponieważ jeśli atakujący zobaczy, że do tego folderu został zabroniony dostęp będzie próbował tam się dostać, a tak jeśli utworzymy pliczek index.htm w folderze i umieścimy w tym pliczku np taki kod:
<html><head><meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
<meta http-equiv="Refresh" content="0; URL=../404.php"></head></html>
A w pliku .htaccess w katalogu głównym taki kod:
ErrorDocument 404 /404.php
Jeśli tak zrobimy to atakujący raczej się nie połapie, że ten folder istnieje chyba że użyje jakiegoś programu, którym to sprawdzi (np. flashget) ale na to jest też obrona wystarczą odpowiednie wpisy w .htaccess ale nie będę o tym pisał w końcu od czego jest google :)
Drugą metodą na obronę, jaką znam to niestandardowe ustawienia. Jest to raczej mało spotykane, najczęściej u początkujących webmasterów. Jeśli ktoś używa takie ustawienia a my nie znamy dobrze tej osoby to raczej nie zorientujemy się gdzie co jest, ponieważ folder gdzie jest panel administratora może nazwać admin ale także adm lub nawet imieniem swojej dziewczyny ;) (nie żartuje raz się z takim czymś spotkałem a folder był nazwany marta :] )
5. Zakończenie
Jak widać sposób ten jest przydatny nie tylko do haczenia stronek, ale też do wyszukiwania informacji. Dzięki temu sposobowi możemy znależć naprawdę wiele ciekawych rzeczy, dlatego zachęcam do szukania.
6. Pozdrowienia
Pozdrawiam wszystkich, których znam i których szanuje...