![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 3.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Istnieje możliwość zapisania w exif tags obrazka kodu php co może być niebezpieczne. Napisałem bardzo prosty skrypt do sprawdzania kodu php w obrazkach i mam prośbę o sprawdzenie czy ten kod wystarczy, sprawdzałem kod i rzeczywiście odróżnia obrazek z niebezpiecznym kodem od zwykłego obrazka ale może ktoś z was ma inne zdanie i wie jak oszukać ten skrypt (IMG:style_emoticons/default/questionmark.gif) ? (IMG:style_emoticons/default/guitar.gif)
Pomijam resztę zabezpieczeń post jest tylko o exif tags. Bardzo fajny artykuł na ten temat jest tutaj http://php.webtutor.pl/pl/2011/04/11/code-...w-obrazku-jpeg/ ale nie ma tam info jak wykryć niebezpieczny kod. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Żartujesz sobie, prawda?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 3.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
czemu miałbym żartować ? jeżeli ktoś zapisze w exif tags obrazka kod php a ktoś ten obrazek wczyta funkcją include (tak nikt oczywiście nie robi) to kod php się wykona i nie wiem co w tym śmiesznego a ponieważ exif tags są zapisywane w fomie zwykłego textu to można to sprawdzić.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Żartujesz sobie, prawda? A Ty sobie żartujesz mówiąc, że on sobie żartuje? Prawda? @daren88, musiałbyś sprawdzać obrazek pod kątem wszystkich możliwych otwierających i i zamykających tagów. (nie tylko tego jednego) Zakładam, że takie rzeczy jak sprawdzanie rozszerzenia obrazka, tego czy ma wymiary i czy jest prawdłowy (jest uploadowanym plikiem) już masz wprowadzone. Bo to są podstawy. To co Ty próbujesz wprowadzić to tylko dodatkowe umocnienie. Ten post edytował pyro 24.11.2011, 17:44:45 |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Żartujesz sobie, prawda? Nie żartuje. Osobiście widziałem atak, który polegał właśnie na wstrzykiwaniu kodu poprzez EXIF-y, wspominałem o tym też na phpconie. Interpreter nie sprawdza rozszerzenia odpalanego pliku. Szuka wyłącznie ciągu do przeparsowania. Przemycić go nawet w binarce, to nie problem. Któraś wersja SimpleMachines Forum 1.1x była podatna na ten atak. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie chodziło mi o samą możliwość takiego ataku, bo wiem, że takowa istnieje, a raczej o sposób rozwiązania problemu jako znalezienie otwierającego tagu <?php. Wydaje mi się, że to znacznie za mało, aby zmniejszyć ryzyko powodzenia tego typu ataku. Jeśli interpreter php obsługuje krótkie tagi czy tagi asp, to jest to marne rozwiązanie, bo kod zostanie prawdopodobnie wykonany. Do listy należałoby dodać jeszcze, o czym napisał już ~pyro:
<? <% Ten post edytował darko 25.11.2011, 03:11:12 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 5 Dołączył: 10.07.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Niebezpieczny nie jest sam kod doklejony do obrazka - niebezpieczne jest używanie include / require do wypluwania tych obrazków!
Także poza skleceniem filtra (fajnie wiedzieć, kto Ci próbuje wrzucić zainfekowany plik) warto przejrzeć skrypty pod kątem takiej podatności. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Obrazek z jakimś kodem nie będzie miał poprawnego mime/type. Jak ktoś sprawdza typy obrazków po ich rozszerzeniach a nie po mime/type to sam się prosi o problemy.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
A nie wystarczy sprawdzać pierwszych 250 bitów obrazka??.To jest przykład początku obrazka zapisanego jako txt-gif'a .
GIF89ajp÷ ÿÿÿ To początek kodu obrazka jpeg: ÿØÿà JFIF |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 3.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Obrazek z jakimś kodem nie będzie miał poprawnego mime/type. Jak ktoś sprawdza typy obrazków po ich rozszerzeniach a nie po mime/type to sam się prosi o problemy. mime/type można oszukać więc lepiej sprawdź twój kod. A jeżeli chodzi o mój skrypt to nie radze go używać zapomniałem o <? i <% ale niestety w połowie obrazków można znaleźć przypadkowe znaki <? bla bla bla ?> więc moja metoda odpada, a sam kod php w obrazkach nie jest szkodliwy jeżeli się go nie wykona np include czego nikt nie robi. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
includowałeś kiedyś obrazek w kodzie php? Oo
|
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Mime/type też można oszukać, nigdy nie masz pewności, co do rodzaju przesyłanego pliku. Kiedyś była obszerna dyskusja na ten temat na tym forum i niestety zakończyła się taką oto smutną konkluzją. Oczekiwanego rezultatu nie daje nawet sprawdzanie funkcją getimagesize poprawności nagłówka obrazka, bo i to można obejść, nie wspominając już o bardziej wyrafinowanych metodach type sprawdzenie typu pliku poleceniem systemowym file -ib <plik> gdyż to polecenie zachowuje się różnie na różnych wersjach systemów operacyjnych.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
A nie wystarczy sprawdzać pierwszych 250 bitów obrazka??.To jest przykład początku obrazka zapisanego jako txt-gif'a . GIF89ajp÷ (IMG:style_emoticons/default/questionmark.gif) ? To początek kodu obrazka jpeg: (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) JFIF Nie, nie wystarczy. Cytat Obrazek z jakimś kodem nie będzie miał poprawnego mime/type. Jak ktoś sprawdza typy obrazków po ich rozszerzeniach a nie po mime/type to sam się prosi o problemy. Nie masz pojęcia o czym piszesz... Ten post edytował pyro 25.11.2011, 21:09:55 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
|
|
|
![]()
Post
#17
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Mime/type też można oszukać, nigdy nie masz pewności, co do rodzaju przesyłanego pliku. Kiedyś była obszerna dyskusja na ten temat na tym forum i niestety zakończyła się taką oto smutną konkluzją Bo sprawdzanie tego z tablicy $_FILES, to proszenie się o problemy. Cytat Udowodnij. : Cytat Oczekiwanego rezultatu nie daje nawet sprawdzanie funkcją getimagesize poprawności nagłówka obrazka Gdyż sprawdza wyłącznie nagłówek i bloki, które mówią o rozmiarze obrazka. Resztę może stanowić nawet dump z /dev/urandom, a i tak przejdzie. Otwórz sobie jakiegoś JPEG-a w jakimś lepszym notepadzie albo edytorze heksadecymalnym, utnij mu kilkaset bajtów tak, aby pozostał nagłówek nieruszony, dopisz coś i otwórz w przeglądarce albo sprawdź MIME. [; Potem zabieraj głos. [; |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 12 Dołączył: 23.11.2006 Skąd: WL Ostrzeżenie: (0%) ![]() ![]() |
Ja na twoim miejscu poświęcił trochę więcej czasu i zrobił następująco:
Czy znajduje się znak otwierający php <? lub <?php jeśli tak pobierasz dalszą część i sprawdzasz czy jest to kod php, bo tak jak pisałeś wcześniej czasami występują przypadkowe znaki <? ale jest bardzo małe prawdopodobieństwo że wystąpi np. <? $ lub też tworzysz liste hexów czyli potencjalnych liter które mogły zostać użyte do stworzenia funkcji jeśli po tym znaku znajduje się pare hexów z listy pod rząd czy też jak tam to sobie wymyślisz to znaczy ze jest to php... Jest to wsumie jakies tam zabezpieczenie bo wiadomo ze funkcja ani zmienna nie moze miec takich znakow &^%$%#*... Mam nadzieje że dobrze myślę (IMG:style_emoticons/default/smile.gif) Ten post edytował szmerak 26.11.2011, 15:56:00 |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Próbuje utworzyć plik ze skryptem javascript ,ale chyba źle coś robię ,czy ktoś może posiada taki plik,albo wie skąd można ściągnąć taki plik("tylko jakiś nie groźny-nie chciałbym mieć wirusów na kompie"), chciałbym przetestować swoją aplikację.
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 12 Dołączył: 23.11.2006 Skąd: WL Ostrzeżenie: (0%) ![]() ![]() |
http://www.programosy.pl/program,exifeditor.html tym programem mozesz to zrobic
tutek jak: http://php.webtutor.pl/pl/2011/04/11/code-...w-obrazku-jpeg/ url zainfekowanego obrazka: http://php.webtutor.pl/wp-content/uploads/...-logo-virus.jpg kod jaki sie w nim znajduje Ten post edytował szmerak 26.11.2011, 16:11:05 |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Cytat <style>body{font-size: 0;} h1{font-size: 12px !important;}</style><h1><?php echo "<hr />THIS IMAGE COULD ERASE YOUR WWW ACCOUNT, it shows you the PHP info instead...<hr />"; phpinfo(); __halt_compiler(); ?></h1 Ten plik mi nie zadziała ja pisze w c#NET |
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 12 Dołączył: 23.11.2006 Skąd: WL Ostrzeżenie: (0%) ![]() ![]() |
No to dopisz sobie cos w C tam masz tutki powyzej jak to zrobic
|
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
a jscript tam można podpiąć ,czy tylko bloki serwerowe?
|
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Puki co według tego przykładu ,zrobiłem plik w którym zamiast bloku <?php ?> dałem blok jscript.No i wykryło mi zły typ pliku-czyżbym miał dobrze zabezpieczone?(IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 12 Dołączył: 23.11.2006 Skąd: WL Ostrzeżenie: (0%) ![]() ![]() |
Znalazłem to w kodzie php-fusiona.. Sądze ze jest to rozwiazanie
|
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Według tego programu zrobiłem coś takiego:
Cytat <style>body{font-size: 0;} h1{font-size: 12px !important;}</style><h1><script type='text/javascript'>alert('a');</script></h1> Czy u Was przepuszcza w obrazkach ten kod-chodzi o to czy wyświetli alert. Ten post edytował Niktoś 26.11.2011, 22:12:19 |
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 12 Dołączył: 23.11.2006 Skąd: WL Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem nie sprawdzałem ale zaraz zobacze to ci powiem (IMG:style_emoticons/default/smile.gif)
Tak wyświetla... ale tylko jak zincludujesz ten plik... masz błąd tam! nie masz cudzysłowia
Ten post edytował szmerak 26.11.2011, 22:17:38 |
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Mi po prostu w c# Net nie przepuszcza takich plików-zły typ pliku-mam dodatkową funkcję sprawdzającą typ pliku opierającą się o system operacyjny.To gra gitara (IMG:style_emoticons/default/guitar.gif) -miałem lekkie obawy,że ta funkcja przepuści taką hybrydę,ale na szczęście tak nie jest.
|
|
|
![]()
Post
#30
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
kto wczytuje obrazki includem/requirem?
@erix miałeś rację a co do systmowego file z linuxa, to też wskazuje na JPEG nawet po zmianie kodu wewnątrz, w sumie tego się nie da wykryć w łatwy sposób, chyba że wiemy czego szukamy. Ten post edytował cojack 27.11.2011, 09:49:47 |
|
|
![]()
Post
#31
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
kto wczytuje obrazki includem/requirem? @erix miałeś rację a co do systmowego file z linuxa, to też wskazuje na JPEG nawet po zmianie kodu wewnątrz, w sumie tego się nie da wykryć w łatwy sposób, chyba że wiemy czego szukamy. Nie chodzi o to, że ktoś wczytuje obrazki przez require/include, ale o to jak można to wykorzystać jak w serwisie istnieje podatność typu File Inclusion |
|
|
![]()
Post
#32
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 2 Dołączył: 26.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Oprócz sprawdzenia typu MIME można użyć funkcji getimagesize do sprawdzenia wymiarów obrazka, jeśli chociaż 1 parametr = 0 wiadomo, że nie jest to obraz.
|
|
|
![]()
Post
#33
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 12 Dołączył: 23.11.2006 Skąd: WL Ostrzeżenie: (0%) ![]() ![]() |
Oprócz sprawdzenia typu MIME można użyć funkcji getimagesize do sprawdzenia wymiarów obrazka, jeśli chociaż 1 parametr = 0 wiadomo, że nie jest to obraz. Tylko właśnie problem jest w tym że to może być obraz... zawierający w sobie złośliwy kod... np. DROP DATABASE a gdyby posiadał rozmiary równe 0 czyli
to byś go wogóle nie sprawdził... Ten post edytował szmerak 27.11.2011, 14:49:50 |
|
|
![]()
Post
#34
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Nie wierze ,że nie ma na to rady jak w net.C# sobie z tym poradzili to i w php musi być na to sposób (IMG:style_emoticons/default/closedeyes.gif) Inaczej to słynne Allegro po prostu już dawno temu przestałoby sobie istnieć.
Ten post edytował Niktoś 27.11.2011, 14:50:31 |
|
|
![]()
Post
#35
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 12 Dołączył: 23.11.2006 Skąd: WL Ostrzeżenie: (0%) ![]() ![]() |
Znalazłem to w kodzie php-fusiona.. Sądze ze jest to rozwiazanie
Nie wiem ale to jest dość zaawansowana funkcja i sądze że skrypty pisane na php-fusionie równierz przestały by istnieć gdyby to nie chroniło ich wystarczająco... |
|
|
![]()
Post
#36
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Czyli ta funkcja verify_image to dobre zabezpieczenie?
|
|
|
![]()
Post
#37
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Przede wszystkim trochę źle do tego podchodzisz. W obrazie może być ciąg bajtów odpowiadający przykładowo "<?php `rm / -rf`; ?>" ale czy to oznacza, że obraz zawiera "wirusa"? Nie. Dlaczego? Z tego samego powodu, dla którego ten post, który jest w bazie danych forum PHP.pl, nie jest wirusem mimo iż zawiera potencjalnie bardzo niebezpieczny kod.
Podstawą jest tutaj odpowiednie obchodzenie się z danymi. Podobnie jak nikt nigdy nie dopuści do tego by ten post (jego treść) została potraktowana evalem() podobnie Ty nigdy nie powinieneś dopuścić by obraz został potraktowany inaczej niż "do odczytu obrazu". Możesz oczywiście sprawdzać czy wgrywany obraz jest obrazem - czy da się go odczytać jako prawidłowy obraz zapisany w danym formacie, ale wyszukiwanie w nim "złośliwych" treści jest nieco bezcelowe. |
|
|
![]()
Post
#38
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Cytat Czyli ta funkcja verify_image to dobre zabezpieczenie? Może są lepsze,ale lepsze takie niż wcale (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#39
|
|
Grupa: Zarejestrowani Postów: 307 Pomógł: 37 Dołączył: 9.11.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Po jaką cholere wam te sprawdzanie ? Przecież i tak obrazy nie zostaną wczytane podczas wykonania skryptu PHP tylko dopiero potem doczytane zostaną przez klienta. Nie rozumiem w czym tutaj problem ? W jakiej sytuacji wg. was taki kod może zostać wykonany w skrypcie ? Pomijaj include/require bo nikt normalny tak nie wczytuje grafiki do kodu. Nawet gdyby udało się tam 'przemycić' kod w PHP to i tak nie ma możliwości wykonania go na serwerze, a jeżeli taka możliwośc jednak istnieje to NIE JEST to błąd w zabezpieczaniu uploadu obrazów tylko błednie napisany kod strony.
P.s-Tylko prosze was nie zasłaniajcie sie tym kodem z php-fusion'a. |
|
|
![]()
Post
#40
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 5 Dołączył: 10.07.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
i hulaj dusza. Dobre (IMG:style_emoticons/default/smile.gif) Taka regułka musiałaby zostać dopisana do konfiguracji Apache (np. do .htaccess), więc jeśli ktoś może już tyle zrobić, to po co ma się bawić w jakieś głupie obrazki z kodem PHP (IMG:style_emoticons/default/tongue.gif) To może jakoś mądrze podsumujemy temat - warto tworzyć funkcje filtrujące/walidujące uploadowane obrazki, czy po prostu zadbać, aby w kodzie nie było wczytywania obrazków metodami include/require (zakładamy, że konfiguracja Apache jest wolna od takich kwiatków jak podał erix)? |
|
|
![]()
Post
#41
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Po jaką cholere wam te sprawdzanie ? Przecież i tak obrazy nie zostaną wczytane podczas wykonania skryptu PHP tylko dopiero potem doczytane zostaną przez klienta. Nie rozumiem w czym tutaj problem ? W jakiej sytuacji wg. was taki kod może zostać wykonany w skrypcie ? Pomijaj include/require bo nikt normalny tak nie wczytuje grafiki do kodu. Nawet gdyby udało się tam 'przemycić' kod w PHP to i tak nie ma możliwości wykonania go na serwerze, a jeżeli taka możliwośc jednak istnieje to NIE JEST to błąd w zabezpieczaniu uploadu obrazów tylko błednie napisany kod strony. P.s-Tylko prosze was nie zasłaniajcie sie tym kodem z php-fusion'a. Czytać umie? Nie chodzi o to, że ktoś wczytuje obrazki przez require/include, ale o to jak można to wykorzystać jak w serwisie istnieje podatność typu File Inclusion |
|
|
![]()
Post
#42
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 5 Dołączył: 10.07.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Pyro tu chyba toczy się rozmowa pod tematem "Zabezpieczenie przed..." a nie "Jak wykorzystać File Inclusion..." (IMG:style_emoticons/default/tongue.gif) Chociaż chętnie poczytam, co można zrobić ze stroną, gdy już wiemy, że na stronie są niepoprawnie wypluwane pliki graficznie (albo w inny sposób można wykonać własny kod PHP)...
|
|
|
![]()
Post
#43
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 12 Dołączył: 23.11.2006 Skąd: WL Ostrzeżenie: (0%) ![]() ![]() |
No ale właśnie przez podatność na "File Inclusion" trzeba się zabezpieczyć przed tego typu kodami w obrazku... tak więc ma to duże znaczenie
PS. Uważam że ten temat powinnien zostać przyklejony z uwagi na bezpieczeństwo skryptów Ten post edytował szmerak 28.11.2011, 18:05:56 |
|
|
![]()
Post
#44
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Trzeba się zabezpieczać, a nie z góry planować minimalizowanie (często jedynie pozorne) strat.
1. Kod PHP czy JS w obrazie? Jak najbardziej może się znajdować i wcale nie oznacza to żadnego ataku. Ot może to być chociażby fragment opisu obrazu przedstawiającego zrzut ekranu. 2. Podatność na File Inclusion to naprawdę domena słabych skryptów, co więcej jeżeli już taka luka istnieje bardzo, bardzo często umożliwia ona wczytanie dowolnego, zdalnego zasobu, więc całe to filtrowanie szlag trafia. Lepiej sprawdzić czy gdzieś nie ma możliwości wykonania takiego ataku, szczególnie, że wiadomo czego szukać, niż kombinować z mechanizmami praktycznie bezużytecznymi mogącymi w dodatku odrzucać część w pełni poprawnych plików. |
|
|
![]()
Post
#45
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Cytat Lepiej sprawdzić czy gdzieś nie ma możliwości wykonania takiego ataku Z tym to się częściowo zgodzę,bo lepiej wykluczyć możliwości wykonania takiego ataku,jak i wyeliminować ewentualne pliki ,które taki atak mogłyby przepuścić. |
|
|
![]()
Post
#46
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Pyro tu chyba toczy się rozmowa pod tematem "Zabezpieczenie przed..." a nie "Jak wykorzystać File Inclusion..." (IMG:style_emoticons/default/tongue.gif) Chociaż chętnie poczytam, co można zrobić ze stroną, gdy już wiemy, że na stronie są niepoprawnie wypluwane pliki graficznie (albo w inny sposób można wykonać własny kod PHP)... Myślisz, że tylko ty potrafisz dziwnie kombinować? No ok, w takim razie: "Zabezpieczenie przed wykorzystaniem File Inclusion". Czekam na odpowiedź (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#47
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ciekawe czy takie wykrywanie i raportowanie działa, jak należy, może ktoś próbował? http://az.linux.pl/2011/09/wykrywanie-atakow-lfi-auditd.html
|
|
|
![]()
Post
#48
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie dam sobie ręki uciąć, ale chyba zmniejszenie obrazka, powiedzmy zmiana jego jakości/rozdzielczości kopiuje tylko sam obraz, zostawiając komentarze i wszystko pozostałe w oryginale, który możemy później skasować. Nie jestem co do tego pewien, gdzieś mi się to o uszy obiło.
Problem z tymi obrazkami to w sumie mógłby być jedynie w przypadki IE (5 lub 6) tam jakiś bug istniał z tymi obrazkami, że IE nie sprawdzał w ogóle mime danego pliku, i od razu próbował go wyświetlić, w ten sposób można było robić xss, zamieszczając kod js, zamiast obrazka, powiedzmy na jakimś forum czy w jakichś komentarzach gdzie można by wyświetlić jakieś zewnętrzne grafiki. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 13:46 |