poniedziałek, 7 czerwca 2010

Ochrona przed sql injection, obrona przed atakiem sql injection, błąd sql injection, atak na stronę www, luka sql injection obrona www, jak obronić stronę internetową

Ochrona przed atakiem sql injection - skuteczna obrona !
Jak obronić stronę przed luką w bazie danych sql injection - sposoby załatania dziury ! 

 flickr, Micah Dowty
Na stronie było już o tym w jaki sposób rozpoznać, czy nasza strona jest podatna na atak sql injection - pozwoliło to oczywiście wyeliminować pewne zagrożenie (gdy stwierdzimy, że strona nie zdaje egzaminu postaramy się ją załatać).
Przecież aby załatać jakąś dziurę - trzeba wiedzieć gdzie jej szukać i na co ona pozwala.
Dlatego właśnie powstały artykuły o błędzie sql injection - dzięki temu, że dowiedziałeś się "nieco" o tej "metodzie ataku" będziesz w stanie zabezpieczyć się na przyszłość. 
Zrobię tutaj pewną analogię do sadzenia roślin : ktoś musiał poznać mechanizm rozrostu danego organizmu, dzięki temu czytając instrukcję sadzenia dowiemy się na jakiej głębokości posadzić nasiona, jak często je podlewać itp....  
Co innego teoria a co innego praktyka, ktoś na sucho może podać rozwiązanie "zabezpieczenia strony" ale w rzeczywistości nie będziemy wiedzieli przed czym się bronić - w jaki sposób to coś może nam zagrażać. 
Nie chodzi przecież o to, aby próbować łamać czyjeś zabezpieczenia - bo to jest karalne - chodzi o to, aby poznać skuteczne metody obrony dzięki rozpoznaniu zagrożenia !
Podobnie przecież działają np. firmy ds. zabezpieczeń np. aby zabezpieczyć samochód przed kradzieżą, trzeba wiedzieć w jaki sposób złodziej jest w stanie do niego się dostać, jakimi narzędziami się posługuje co nie znaczy od razu, że musimy ukraść 5 samochodów - możemy bazować na własnym aucie o ile go nie uszkodzimy i mamy wystarczające teoretyczne doświadczenie - jak się przekonamy że ktoś jest w stanie się do niego dobrać to należy założyć odpowiednie zabezpieczenie. 

No ale teraz przejdę do samej obrony :

Po pierwsze to warto włączyć na swoim serwerze narzędzie o nazwie Mod Rewrite.
Co to właściwie daje i do czego służy ? 
Posłużę się tutaj prostym przykładem, mianowicie zobaczmy te dwa linki :
1) www.nazwa.pl/articles.php?id=5
2) www.nazwa.pl/articles/5
Jak widzimy w pierwszym adresie jest pokazana "odkryta" ścieżka do naszego artykuły o identyfikatorze 5, w drugim przypadku także znajdziemy się na tej samej stronie - jednak w tym przypadku odbiorca dostaje mniej informacji min. o skryptach znajdujących się na stronie itp...nie mówiąc o skróceniu adresu url - który znacznie łatwiej zapamiętać :)

Aby włączyć mod_rewrite na stronie w pliku .htaccess należy dopisać :

RewriteEngine On
RewriteRule ^articles/([0-9][0-9])/$ articles.php?id=$1
 


Kolejnym krokiem w zabezpieczaniu różnego rodzaju stron internetowych opartych na popularnych skryptach np. for internetowych czy cmsów są aktualizacje (updat'y). 
Warto z nich skorzystać gdyż eliminują one wiele błędów np. dla Joomla : http://www.trzepizur.pl/blog/11-bezpieczestwo/47-ochrona-przed-sql-injection-ulepszenie.html 
Ciekawa strona o zabezpieczeniu przed sql injection : http://lukasamd.pl/ochrona-przed-sql-injection/

Na stronie http://internetmaker.pl/artykul/4013,3,sql_injection_-_anatomia_doklejania_zlosliwego_kodu_sql_i_sposoby_ochrony.html , jest opis w jaki sposób można zabezpieczyć się przed atakiem sql injection z wykorzystaniem formularzy na stronie internetowej.

                                         źródło: internetmaker.pl, Tomasz Gębarowski

Chodzi o pewnego rodzaju filtrację zapytania, które może wprowadzić użytkownik przy wypełnianiu formularzy. A więc np. wypełniając dane do logowania i podając login i hasło - możemy zezwolić aby mógł korzystać wyłącznie z małych i dużych liter, natomiast cyfry będą niedopuszczalne. 



0 komentarze:

Prześlij komentarz