![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tak jak w temacie:
Czy można jakoś za pomocą "echo" wywoływać jakieś skrypty z innych serwerów ? Konkretnie: register_globals jest włączone na serwerze i np. wywołuje taki link: http://www.domena.pl/index.php?tytuł=bardzo_fajny_tytuł a w kodzie gdzieś tam mam:
to czy jakiś sprytny gość wstawiając coś w adresie za tytul= może coś mi złego zrobić i wywołać jakiś skrypt ? wyłączenie register globals nie wchodzi w gre, chyba, że da sie to zrobić dla pojedynczego użytkownika (użytkowników korzystających z serwera firmy hostingowej jest uuuu i jeszcze ciut ciut ), ale pewnie nie bo php.ini jedno tylko na serwerze.. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 0 Dołączył: 4.07.2004 Skąd: z neostrady Ostrzeżenie: (0%) ![]() ![]() |
Może wywołać dowolny kod javascript, a więc jest to dziura. Możesz łatwo się zabezpieczyć robiąc np. echo htmlspecialchars($tytul);
Czytałeś dokumentację? Można konfigurować register_globals indywidualnie. Ten post edytował akubiczek 16.04.2007, 13:47:38 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 29.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Może wywołać dowolny kod javascript, a więc jest to dziura. Możesz łatwo się zabezpieczyć robiąc np. echo htmlspecialchars($tytul); Czytałeś dokumentację? Można konfigurować register_globals indywidualnie. Z tym javascriptem to taka dziura nie dziura. To co Pan namiesza poprzez swój parametr tytul ja mogę osiągnąć to samo bez parametru. Pamiętajmy, że javascript jest wykonywany po stronie serwera więc użytkownik najwyżej sam sobie namiesza w wyświetleniu strony. |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat To co Pan namiesza poprzez swój parametr tytul ja mogę osiągnąć to samo bez parametru. tja, z tym ze dzieki $tytul mozna samemu uruchomic komus na przegladarce wlasny kod co z kolei moze byc wykorzystane do ataku XSS. To ze ktos sam sobie js wali to zadna dziura i sztuka Cytat Pamiętajmy, że javascript jest wykonywany po stronie serwera Przejęzyczenie?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 0 Dołączył: 4.07.2004 Skąd: z neostrady Ostrzeżenie: (0%) ![]() ![]() |
Dziwi mnie taka opinia człowieka, który na swojej stronie napisał:
"Stawiamy sobie za punkt honoru, dbałość o wysoką jakość naszych aplikacji." (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Owszem, w typowych sytuacjach jest to mało groźne, ale właśnie takie mało groźne niedopatrzenia są wykorzystywane do groźnych ataków. Fraza na dziś: Cross-site scripting. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 29.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Tak jak w temacie: Czy można jakoś za pomocą "echo" wywoływać jakieś skrypty z innych serwerów ? ... to czy jakiś sprytny gość wstawiając coś w adresie za tytul= może coś mi złego zrobić i wywołać jakiś skrypt ? Może wywołać skrypt na innym serwerze ale on się wykona na tym innym serwerze więc to będzie się miało raczej nijak do namieszania u Pana. podstawiając za tytuł... hmm, nie widzę specjalnie zagrożeń, o ile Pan to zrobi z głową. Teoretycznie przykładowo co może zrobić to wstawić taki skrypt JS który rozwali walidacje JS'ową w formularzu albo samopoklika na stronie albo mu popsuje wygląd, no ale po co ktoś miałby sobie świadomie psuć wygląd (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) No i to będzie sie miało znowu nijak do namieszania na serwerze. Zawsze można srobić strip_tags($_GET['tytul']). Przejęzyczenie? faktycznie, miało być po stronie przeglądarki oczywiście (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Dziwi mnie taka opinia człowieka, który na swojej stronie napisał: "Stawiamy sobie za punkt honoru, dbałość o wysoką jakość naszych aplikacji." (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Owszem, w typowych sytuacjach jest to mało groźne, ale właśnie takie mało groźne niedopatrzenia są wykorzystywane do groźnych ataków. Fraza na dziś: Cross-site scripting. Zgadzam się i widzę zagrożenie, jednak tj napisałem jest to dziura nie dziura gdyż to samo mogę zrobić bez użycia parametrów, czyli że jak Ismitch wywali echo $title to i tak sobie uruchomie swój JS jak będzie mi na tym mocno zależało. Uruchamianie JS leży w gestii przeglądarki a więc wystarczy pomotać w przeglądarce. I Jak Pan by nie zabezpieczał skryptu to i tak uruchomię JS. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 0 Dołączył: 4.07.2004 Skąd: z neostrady Ostrzeżenie: (0%) ![]() ![]() |
Nie ma zgody z mojej strony na ignorowanie zagrożenia (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Proszę nie myśleć jedynie o bezpośrednim bezpieczeństwie serwera, ale także o bezpieczeństwie użytkowników korzystających z serwisu. Nie będę zbędnie pisał, polecam przeczytanie tego artykułu: http://en.wikipedia.org/wiki/Cross_site_scripting Szczególnie rozdział "Real-world examples". |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 29.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ok Panowie, przyznaje się do błędu, nie ma co kusić losu i ułatwiać życie haxorom. Lepiej żeby było trudniej niż łatwiej. Osobiście zwykłem walidować po stronie PHP wszystko co nadciąga z GET i POST i tak też proponuję pytaczowi.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 07:08 |