pitreq 4 Report post Posted May 25, 2010 Witam, mam nadzieję, że ktoś z Was mi pomoże. Ktoś cały czas hakuje mi stronę. Jak się przed tym ustrzec? Jakiś koleś potrafi prawdopodobnie zrobić sql injection, bo dodaje niecenzuralne komentarze na mojej stronie pod moim nickiem. Jak to sprawdzić jakim sposobem się włamuje i gdzie jest dziura w skrypcie? będę wdzięczny za podpowiedź Share this post Link to post Share on other sites
uzytkownik 3 Report post Posted May 25, 2010 Widziałem gdzieś stronę czy skrypt, który testuje serwis pod kątem bugów. Jak odszukam to dam Ci link. Nie wiem na ile skuteczna jest taka metoda sprawdzania ale można spróbować. Masz ten serwis na jakimś darmowym CMSie? Share this post Link to post Share on other sites
Jarek17 58 Report post Posted May 25, 2010 Najlepiej znajdź kogoś, kto Ci zabezpieczy skrypt strony Może warto uderzyć do Intersona? Share this post Link to post Share on other sites
budzyn 11 Report post Posted May 25, 2010 sprawdź stronę pod względem poprawności: http://validator.w3.org/ Share this post Link to post Share on other sites
Arcanis 0 Report post Posted May 25, 2010 Sposób na sql injection. Share this post Link to post Share on other sites
FlashT 299 Report post Posted May 25, 2010 Jaka strona? Share this post Link to post Share on other sites
pitreq 4 Report post Posted May 25, 2010 ja chce po prostu zeby mi ktos powiedzial jak sie przed tym przestrzec... jak sprawdzic w jakie sposob koles mnie hakuje? jest na to jakis sposob? Share this post Link to post Share on other sites
Bert 0 Report post Posted May 25, 2010 Sprawdź w jaki sposób przebiega walidacja danych. Ale również pobierz program w3af GUI może Ci coś pomoże w sprawdzeniu pod kątem zabezpieczeń. Share this post Link to post Share on other sites
trystero 0 Report post Posted May 25, 2010 sprawdź stronę pod względem poprawności: http://validator.w3.org/ co ma piernik do wiatraka ? Share this post Link to post Share on other sites
budzyn 11 Report post Posted May 26, 2010 (edited) co ma piernik do wiatraka ? aaa może jeżeli coś już jest pogmatfane w kodzie, to więcej dziur w serwisie też się znajdzie : )? PS. myślę że przy takich sprawach, trzeba sprawdzić wszystko Edited May 26, 2010 by budzyn Share this post Link to post Share on other sites
FlashT 299 Report post Posted May 26, 2010 (edited) co ma piernik do wiatraka ? Przepis na piernik: Ciasto: 40 dag mąki 12,5 dag margaryny 25 dag cukru 2 jajka 4 łyżki powideł śliwkowych 3 łyżki kakao 1 opakowanie przyprawy do piernika (40 g) 1 szklanka mleka 1 łyżeczka sody oczyszczonej ok. 1 ? szklanki bakalii Do dekoracji: polewa czekoladowa kokos A to o wiatrakach... Wiatraki czyli młyny wietrzne miały podstawowe zastosowanie w zakresie mielenia ziarna na mąkę Edited May 26, 2010 by FlashT Share this post Link to post Share on other sites
maryuse 83 Report post Posted May 26, 2010 co ma piernik do wiatraka ? Tyle samo liter - 7 Share this post Link to post Share on other sites
Dropped.pl 209 Report post Posted May 26, 2010 Zajrzyj do logów serwera, i poszukaj wywołań stron zawierających w parametrach "INSERT" albo "UPDATE" - jest duże prawdopodobieństwo, że to wykonane przez niego komendy SQL. Zobacz jaki to skrypt, i w jakim parametrze są wstawiane te komendy. Share this post Link to post Share on other sites
FlashT 299 Report post Posted May 26, 2010 Ja chyba bym zrobil altair table i dodal int debug i wszedzie w skryptach gdzie sie laczy z mysqlem i cos wklada dal debug =1,2,3 ... itd. Share this post Link to post Share on other sites
pitreq 4 Report post Posted May 27, 2010 (edited) Zajrzyj do logów serwera, i poszukaj wywołań stron zawierających w parametrach "INSERT" albo "UPDATE" - jest duże prawdopodobieństwo, że to wykonane przez niego komendy SQL. Zobacz jaki to skrypt, i w jakim parametrze są wstawiane te komendy. ok postaram sie to sprawdzic. Jak sie przed tym pozniej zabezpieczyc? chodzi o access.log? Edited May 27, 2010 by pitreq Share this post Link to post Share on other sites
Dropped.pl 209 Report post Posted May 27, 2010 Tak, chodzi o access.log. Jeśli zobaczysz takie wywołania, powiedzą ci jaki to jest skrypt, np: skrypt.php?parametr=cośtamcośtamcośtam';+UPDATE+table+cośtamcośtamcośtam To wiesz, że w skrypcie "skrypt.php" parametr "parametr" jest źle walidowany. Niech jakiś programista ci poprawi. Share this post Link to post Share on other sites
pitreq 4 Report post Posted May 27, 2010 nie znalazlem nic takiego niestety w access.log ;-/ programista to ja jestem, tylko bez doswiadczenia:P Share this post Link to post Share on other sites
p0zer 1 Report post Posted May 27, 2010 (edited) Sprawdź wszystkie pliki index na swoim koncie na serwerze (htm, html, php itd.). Może ktoś wrzucił Ci złośliwego iframe'a albo kient FTP miał dziurę. Taki iframe dodaje się automatycznie do wszystkich pików index na serwerze i powoduje różne dziwne rzeczy. Miałem kiedyś coś takiego na Wordpressie. Zostawiłem jeden zainfekowany plik i po chwili znowu to samo. Edited May 27, 2010 by p0zer Share this post Link to post Share on other sites
kamilovsky 0 Report post Posted May 27, 2010 (edited) Przede wszystkim sprawdź plik w którym odbierasz dane z formularza logowania. Jeżeli gość zna tylko Twoją nazwę użytkownika, a w skrypcie jest błąd to bez problemy zaloguje się na Ciebie. Po wpisaniu login i haslo i wysłaniu danych idą one do jakiegoś pliku, który masz prawdopodobnie określony w tym miejscu (na stronie logowanie): <form name="np.logowanie" action="nazwapliku.php" method="post lub get" ... > W nazwapliku.php przy odbieraniu danych koniecznie muszą być zabezpieczenia np. addslashes i / lub strip_tags czyli np: $password=strip_tags(addslashes(md5($_POST['wprowadzonehaslo']))); - jeżeli nie ma tych komend to zalogowanie się na dowolnego użytkownika, znając tylko jego login jest bardzo proste. Jeżeli gość ogranicza sie tylko do głupich postów, to są dwie trzy wersje: 1) Nie potrafi popsuć nic innego, czyli to jakiś amator więc błąd w skrypcie musi też być banalny 2) Nie chce robić nic innego i tylko "delikatnie" daje Ci znać o błędzie. 3) Na razie to go satysfakcjonuje i mu wystarzcza - jak zaczniesz z nim grać, a błędów masz więcej i on je znajdzie, to może być bardziej upierdliwy. Na wszelki wypadek rób często backup bazy. Edited May 27, 2010 by kamilovsky Share this post Link to post Share on other sites
umberto 1,049 Report post Posted May 27, 2010 Kiedyś na stronie na Wordpressie ktoś zamieścił w stopce linki porno, jakoby one wychodziły z mojego serwisu. Właściwie były one bardzo krótko, ale wystarczyły i dostałem filtr w Google. Share this post Link to post Share on other sites
pitreq 4 Report post Posted May 27, 2010 zadnego zlosliwego kodu nie mam, a problem dotyczyl totalcomandera, ktory mial dziury wiec sobie sprawdz to p0zer kamilovsky tego sie spodziewalem i o tym czytalem. Sprawdze dokladnie czy mam wszedzie addslashes itp wiem, ze to wykorzystywalem ale dzieki za konkretna odpowiedz Share this post Link to post Share on other sites
plsd 0 Report post Posted May 28, 2010 (edited) Nie szukaj w logach żadnego insert czy update tylko "union select" albo słówka from,a co to filtrowania sprawdź czy masz na serwie mod_rewrite jeśli tak to w pliku .htaccess filtrujesz dane z adresu za pomocą wyrażenia regularnego. Edited May 28, 2010 by plsd Share this post Link to post Share on other sites
pitreq 4 Report post Posted May 28, 2010 Nie szukaj w logach żadnego insert czy update tylko "union select" albo słówka from,a co to filtrowania sprawdź czy masz na serwie mod_rewrite jeśli tak to w pliku .htaccess filtrujesz dane z adresu za pomocą wyrażenia regularnego. mozesz rozjasnic jak to zrobic w htaccess? Share this post Link to post Share on other sites
plsd 0 Report post Posted May 28, 2010 (edited) wpisz w google "htaccess mod_rewrite" znajdziesz informacje o skracaniu linków n.p jeżeli , w adresie masz index?id=2 w pliku .htaccess tworzysz regułę która zamienia index?id=2 n.p na /index/2 i filtrujesz te dane w taki sposób ,że n.p tylko po index/ mogą być liczby itp. Z doświadczenia wiem ,że ludzie dopisują sobie zapytania do takich zmiennych w postaci union select i w ten sposób wyciągają dane z bazy.Dane z formularza wypadało by też walidować przy pomocy wyrażeń regularnych.Jak nie masz dużo kodu warto by było zrealizować połączenie z bazą za pomocą PDO z użyciem funkcji prepare i bindValue. //edit Może filtrowanie tu nic nie da ,bo pisałeś że ktoś dodaje tylko komentarze w twoim imeniu.Powodem tego może być wadliwie napisany skrypt w taki sposób ,że nie sprawdzasz uprawnień użytkownika podczas dodawania komentarza i ktoś może podmieniać zmienną POST ,która odpowiada za id użytkownika czy jego nazwę.Może to wyglądać tak ,że masz ukryte pole formularza w którym ustawiłeś wartość id użytkownika następnie gdy ktoś dodaje komentarz realizowane jest zapytanie w postaci "insert into komentarz (id_uz,komentarz) values ($_POST['wartosc_z_formularza'],"Komentarz") " i ktoś ustawia wartość zmiennej wartosc_z_formularza na twój id_uz jest to możliwe przez wtyczki do firefoxa,wtedy filtrowanie ci nie pomoże jak tak wygląda skrypt bo dane będą poprawne. Edited May 28, 2010 by plsd Share this post Link to post Share on other sites