Temat: UWAGA! DZIURA! | | lordzik - 2002.10.30 13:31 - odpowiedz | | Na nlog.pl jest bardzo powazna dziura pozwalajaca na skrajnie niebezpieczna dzialalnosc, lacznie z mozliwoscia wlamania sie na konto dowolnego (nie do konca - napisze dlaczego) uzytkownika. Przypuszczam rowniez, ze sa mozliwe duzo powazniejsze w skutkach dzialania, niz te opisane ponizej.
nlog.pl w fatalny sposob zezwala na korzystanie ze skryptow .php (mozna je uploadowac do swojego katalogu) a dodatkowo pliki uploadowane przez uzytkownikow maja prawa zapisu (co z tego wynika - ponizej).
zly_uzytkownik moze stworzyc plik .php, ktory, po wykonaniu przez przegladarke, bedzie odczytywal pliki cookie z danymi ofiary i zapisywal je do dowolnego pliku, wskazanego przez zlego_uzytkownika.
Co z tego wynika - chyba nie trzeba zbytnio tlumaczyc. Zly_uzytkownik odczytuje sobie ten plik i tworzy na swoim dysku (nie jest to skomplikowane) plik cookie zawierajacy dane ofiary, wchodzi na nlog.pl i... jest zalogowany na konto swojej ofiary.
Warunki:
1. ofiara musi wejsc na strone zawierajaca nasz skrypt.
2. musi byc zalogowana.
Demonstracja jest tutaj.
Bez obaw - dane nie sa nigdzie zapisywaje - po prostu beda wyswietlone w okienku komunikatu.
Konczac, proponuje uwazac w co sie klika do czasu, az Warp poprawi co trzeba. |
| | | lordzik - 2002.10.30 13:59 - odpowiedz | | Nooo... ale... to nie jest paranoja - to jest fakt :) |
| | vincent - 2002.10.30 15:08 - odpowiedz | | O Boże... To to jeszcze nie zotalo naprawione? To przez tą dziurę nlog wyleciał z MCSA, dawno temu.
Lordzik, z takimi rzeczami do do warpa na priva (choć czasem nie reaguje), a nie na public. Osoby, którym to wcześniej do głowy nie wpadło, mogą teraz zacząć się bawić. Wyciągnąć wszystkie hasła i dane użytkowników - nlogi prywatne pooglądać... |
| | vincent - 2002.10.30 15:43 - odpowiedz | | O Boże... To to jeszcze nie zotalo naprawione? To przez tą dziurę nlog wyleciał z MCSA, dawno temu.
Lordzik, z takimi rzeczami do do warpa na priva (choć czasem nie reaguje), a nie na public. Osoby, którym to wcześniej do głowy nie wpadło, mogą teraz zacząć się bawić. Wyciągnąć wszystkie hasła i dane użytkowników - nlogi prywatne pooglądać... |
| | vincent - 2002.10.30 15:53 - odpowiedz | | Zresztą, nie trzeba żadnych cookies. Można napisać skrypt w php łączący się bezpośrednio z bazą danych i wprowadzający w niej zmiany. Nie trzeba do tego być nawet zalogowanym jako użytkownik, do którego konta/danych/hasła/wpisów chcemy się dostać. |
| | lordzik - 2002.10.30 15:58 - odpowiedz | | W sumie mozna, ale tak jest bardziej finezyjnie :) |
| | lordzik - 2002.10.30 15:57 - odpowiedz | | Na maila tez puscilem info.
To odwieczny dylemat - czy znajdujac jakas dziure powinno sie o niej publicznie mowic, czy tez nie. Coz... i to i to ma swoje plusy i minusy.
Biorac pod uwage ta konkretna sytuacje to chyba lepiej o tym powiedziec publicznie. Ludzie beda ostrozniejsi, a Warp moze szybciej cos z tym zrobi. Nie wystarczy zablokowac wykonywania plikow .php? Albo jakis prosty filtr zalozyc na upload - niech pozwala zaladowac tylko template.nlog i pliki grafik (chociaz to tez nie rozwiazuje problemu w 100%).
Mam nadzieje, ze w nowym nlogu wszystko bedzie ok. |
| | vincent - 2002.10.30 16:02 - odpowiedz | | Problem w tym, że ludzie nic nie zrobią. Zmienianie haseł nic im ie da - dla kogoś znającego php one są dostępne w każdej chwili. Tak samo nic nie daje uczynienie loga prywatnym i inne działania, jakie może podjąć użytkownik. Chyba, że masz rady, jak się chronić... nie zauważyłem. |
| | lordzik - 2002.10.30 16:21 - odpowiedz | | Coz... moze i nie ma jak sie obronic. Ale nie sadze, zeby tkwienie w nieswiadomosci bylo rozwiazaniem. |
| | vincent - 2002.10.30 16:23 - odpowiedz | | E... chyba chciałeś się pochwalić znalezieniem czegoś, co było od dość dawna znane całkiem szerokiemu gronu osób. |
| | lordzik - 2002.10.30 16:34 - odpowiedz | | Oczywiscie. Moze to jeszcze przeze mnie? :) |
| | chafer - 2002.10.30 19:36 - odpowiedz | | Sekundka. To, ze nie dziala na nlogu pare rzeczy, to ze nie ma FAQ, nie dzialala zamiana skinow, statystyki etc - mozna zrozumiec. Nie jest to AZ takie wazne, co udowadnialem nieraz na forum.
Ale jezeli mowa o powaznej w gruncie rzeczy sprawie (bezpieczenstwo) i warp nic z tym od "dosc dawna" nie zrobil, to ja sie przylaczam w tej chwili do grona narzekaczy.
Moim zdaniem Lordzik dobrze zrobil upubliczniajac ten problem. |
| | sony - 2002.11.03 20:04 - odpowiedz | | O dziurkach i szparkach ciąg dalszy :P
Dobrze, że publicznie mówi się o sprawach bezpieczeństwa i ostrzega przed takimi niespodziankami, bo wtedy wiadomo co w trawie piszczy i można się jakoś zbezpieczyć.
Poza tym skrypt pobierający informacje z cookie można umieścić nie na enlogu a na innym serwerze z php i zrobić linka do niego. Skoro ktoś może podglądać cookie to może wystarczy logować się tylko przy dokonywaniu wpisu, po czym wylogować się i spokojnie przegladać strony bez obawy że ktos przechwyci nasze hasło.
A poza tym o ile mi wiadomo, żeby napisać skrypt łączący się z bazą danych należy znać hasło dostępu do niej, czyż nie tak? więc bezpośrednie wyciągnięcie haseł z bazy chyba nie jest aż tak dziecinnie proste, bo jeśli nie to nich nas niebiosa mają w opiece :P
A gdyby tak ??? po zalogowaniu się własnym hasłem, serwer wysyłał w cookie jednorazowy kod, który mógłby być użyty tylko raz na jednym komputerze do chwili jego skasowania.
Kod za każdym razem byłby przydzielany losowo. Jesli ktoś nawet by wyciągnął informacje z cookie to byłyby one już dla niego nieaktualne??? |
| | sony - 2002.11.03 20:05 - odpowiedz | | O dziurkach i szparkach ciąg dalszy :P
Dobrze, że publicznie mówi się o sprawach bezpieczeństwa i ostrzega przed takimi niespodziankami, bo wtedy wiadomo co w trawie piszczy i można się jakoś zbezpieczyć.
Poza tym skrypt pobierający informacje z cookie można umieścić nie na enlogu a na innym serwerze z php i zrobić linka do niego. Skoro ktoś może podglądać cookie to może wystarczy logować się tylko przy dokonywaniu wpisu, po czym wylogować się i spokojnie przegladać strony bez obawy że ktos przechwyci nasze hasło.
A poza tym o ile mi wiadomo, żeby napisać skrypt łączący się z bazą danych należy znać hasło dostępu do niej, czyż nie tak? więc bezpośrednie wyciągnięcie haseł z bazy chyba nie jest aż tak dziecinnie proste, bo jeśli nie to nich nas niebiosa mają w opiece :P
A gdyby tak ??? po zalogowaniu się własnym hasłem, serwer wysyłał w cookie jednorazowy kod, który mógłby być użyty tylko raz na jednym komputerze do chwili jego skasowania.
Kod za każdym razem byłby przydzielany losowo. Jesli ktoś nawet by wyciągnął informacje z cookie to byłyby one już dla niego nieaktualne??? |
| | lordzik - 2002.11.03 21:22 - odpowiedz | | A czy nie jest tak, ze cookie moze byc odczytane tylko przez serwer, ktory je wystawil?? |
| | lordzik - 2002.11.05 18:46 - odpowiedz | | heh... problem z dziurami ciag dalszy.
php zablokowane, wiec do akcji moze wkroczyc... javascript :)
Tym razem nie bedzie demonstracji dzialania, bo js mozna sobie podejrzec, w przeciwienstwie do php, a polityki vincenta nie popieram.
Problem:
Na forum/w swoim szablonie, mozna wstwic wywolanie skryptu javascript. Oczywiscie js ma mozliwosc odczytania pliku cookie (cel - taki jak poprzednio). Niestety (hehe, na szczescie;) js nie moze zapisywac nic do plikow (AFAIK). Ale mozna sobie z tym poradzic - przekazujemy wartosc cookie jako zmienna do naszego skryptu php (na innym serwerze) - po otrzymaniu tej wartosci, nasz skrypt sobie ja zapisuje w jakims pliku.
I jestesmy w domu.
Tak wiec sugeruje, aby nie skakac po nlogu w czasie, gdy sie jest zalogowanym :)
ps. Mail do Warpa polecial, laczenie z sugestia, jak sie tej dziury pozbyc. |
| | sony - 2002.11.05 19:05 - odpowiedz | | jesli cookie moze byc odczytywane przez serwer ktory je wyslal to znaczy ze dziura o ktorej tu mowa powstala z chwila kiedy Warp wrzucil funkcje uplodowania swoich plikow ze skinami, bo wtedy mozna bylo uplodowas skrypt odczytujacy cookie albo robiacy inne gorsze rzeczy |
|
|
| |