konto usunięte

Temat: Jakiś dziwny złodziej lub inny szkodnik

Grzegorz Miśkiewicz:
Aby nie tworzyć nowego wątku, tutaj zadam jeszcze jedno pytanie związane z mysql injection. Zastanawiam się, czy w przypadku zapytania:

SELECT * FROM data WHERE status=1 AND id='".$_GET['id']."' ORDER BY id DESC

ktoś może zmienną $_GET['id'] przesłać mi jakieś świństwo, i wyciągnąć dane ?? Bo próbowałem na wszelkie sposoby coś zdziałać, ale nie wyszło mi, jednak osobiście nie jestem szpecem od łamania kodów - zastanawia mnie to :-)

Najprościej zrobić tak:

$id = (int)$_GET['id'];

SELECT * FROM data WHERE status=1 AND id='.$id.' ORDER BY id DESC
Piotr Likus edytował(a) ten post dnia 13.10.08 o godzinie 10:07
Piotr P.

Piotr P. Software Developer

Temat: Jakiś dziwny złodziej lub inny szkodnik

Nie zauważyłem aby było wymienione wcześniej:

http://pl.php.net/manual/en/function.mysql-real-escape...

Jeśli to nie MySQL to inna adekwatna.

konto usunięte

Temat: Jakiś dziwny złodziej lub inny szkodnik

Piotr P.:
Nie zauważyłem aby było wymienione wcześniej:

http://pl.php.net/manual/en/function.mysql-real-escape...

Jeśli to nie MySQL to inna adekwatna.

Ta funkcja jest gorsza od (int), bo jest do obejścia.
(int) - nie.

Dlatego jeśli można, lepiej stosować int - a tu, akurat w tym przypadku, można.

http://ilia.ws/archives/103-mysql_real_escape_string-v...
Piotr P.

Piotr P. Software Developer

Temat: Jakiś dziwny złodziej lub inny szkodnik

Piotr Likus:
http://pl.php.net/manual/en/function.mysql-real-escape...

Jeśli to nie MySQL to inna adekwatna.

Ta funkcja jest gorsza od (int), bo jest do obejścia.
(int) - nie.

Masz rację. Nie oznacza to jednak, że powinno się ignorować jakąkolwiek funkcję która zrobi escape.
Dlatego jeśli można, lepiej stosować int - a tu, akurat w tym przypadku, można.

http://ilia.ws/archives/103-mysql_real_escape_string-v...

Sounds good. Jutro zobacze, co z tym można zrobić :)
Piotr P.

Piotr P. Software Developer

Temat: Jakiś dziwny złodziej lub inny szkodnik

Piotr P.:
http://ilia.ws/archives/103-mysql_real_escape_string-v...

Sounds good. Jutro zobacze, co z tym można zrobić :)

Co masz zrobić jutro, zrób dzisiaj ;)

Z tego przykladu wychodzi coś takiego:

username = '�\' OR username = username /*' AND password = 'anything'

I oczywiście nie zwraca żadnego rekordu. Mam zmienić character set na GBK?
Korzystam tylko z UTF-8.

konto usunięte

Temat: Jakiś dziwny złodziej lub inny szkodnik

Piotr P.:
Piotr P.:
http://ilia.ws/archives/103-mysql_real_escape_string-v...

Sounds good. Jutro zobacze, co z tym można zrobić :)

Co masz zrobić jutro, zrób dzisiaj ;)

Z tego przykladu wychodzi coś takiego:

username = '�\' OR username = username /*' AND password = 'anything'

I oczywiście nie zwraca żadnego rekordu. Mam zmienić character set na GBK?
Korzystam tylko z UTF-8.

To tylko przykład. Nie znam dokładnie warunków do tego testu.
Ale jak wpiszesz w g**gla "mysql_real_escape_string vulnerability" to dostaniesz całą kolekcję takich przypadków.

Na pewno musi być GBK. Ale gdzie włączyć UTF-8 - nie wiem.
Filip Czapeczka

Filip Czapeczka Senior Project
Manager

Temat: Jakiś dziwny złodziej lub inny szkodnik

Ogólnie (teżnie czytałem wszystkich wypowiedzi)
Ten pojawia sie w kazdym pliku index.php, gdy uzywajac komputera zainfekowanym pewnym trojanem zalogujemy sie przez ftp (moze tez telnet, nie wiem) na jakies konto. Mój kolega miał to samo, nie wiemy, czy ten kawałek kodu robi jakieś bubu odwiedzającym - ale na pewno po paru chwilach cały site jest wszedzie zaznaczony jako zawirusowana strona i google i mozilla krzycza jak sie tam chce wejsc, trzeba to potem pousuwać i pisać do google o usuniecie z czarnej listy :)
Marcin Młynarczyk

Marcin Młynarczyk Kierownik projektów,
Lacan Technologies
Sp z o. o.

Temat: Jakiś dziwny złodziej lub inny szkodnik

Trojan jak byk :)

Teraz jestem mądry, kiedyś przyszło nam w firmie poprawiać kawałek starego kodu w którym coś na kształt tego się pojawiło. Problem w tym, że nie wiedzieliśmy co to jest i założyliśmy, że to jakiś stary skrypt który "coś robi" :). I dawaj, 3 godziny dwóch programistów siedzieliśmy i tak to przerabialiśmy, żeby się walidowało (żeby było zgodne z W3C)... Masakra.

...a potem tylko jedno DEL i po sprawie...
...ostro się wkurzyliśmy na swoją bezmyślność ;)

Pozdrawiam,

Następna dyskusja:

Szukamy programisty php - p...




Wyślij zaproszenie do