Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL INJECTION] Pytanie czy skrypt jest podatny
Forum PHP.pl > Forum > PHP
kamilos12
Witam, chciałem ostatnio sprawdzić czy taki skrypt jest podatny na tego typu ataki (jest na moim localhoscie).
Wyświetla on newsy w ten sposób:

  1. $res = mysql_query("select * from moje_newsy where id=".$_GET['id']);
  2. $row = mysql_fetch_array($res, MYSQL_BOTH);
  3.  
  4. echo $row['data'];


Czy jest możliwość wydobycia danych admina (tabela admin, pola login, hasło, id)

Bo coś takiego powinno zadziałać:
  1. id=7 and 1=2 union select id, login, haslo AS data from admin /*


Tylko że zwraca to:

  1. Warning: mysql_fetch_array() expects parameter 1 TO be resource, BOOLEAN given IN bla bla bla


Pozdrawiam, może ktoś rozwieje moje wątpliwości smile.gif
Damonsson
Oczywiście, że tak. Liczy się to co jest na wejściu zapytania, na wyjściu może być nawet 0, ale co się wykona podczas, to się wykona.
kamilos12
Ok, a więc jak by wyglądało zapytanie które zmieni adminowi hasło na jakieś inne? Po podjerzewam że trzeba jakoś zakonczyć tamto zapytanie pobierajace danego newsa.
Damonsson
Teoretycznie w mysql_query(), można wykonać tylko jedną operację, czyli u Ciebie tylko SELECT.

Coś mi się nie wydaję, że testujesz swój kod wink.gif
kamilos12
Ta, podaje kod skryptu plus nazwę tabelki w bazie oraz jej pola. Nie wcale nie mam tego skryptu na dysku...
Damonsson
No ok, wybacz, jeśli źle Cię osądziłem.
Żebyś miał pewność, że jest podatność spróbuj:

w URL:
  1. ?id=9999999999999999 UNION SELECT * FROM moje_newsy WHERE id = 7


Powinno wyświetlić dla id = 7 bez zająknięcia, oczywiście jeśli news id = 7 istnieje.

Szczęście w nieszczęściu, że korzystając z mysql_query() jesteś bezpieczny pod tym względem, że nikt nie wrzuci Ci do SELECTA dodatkowo INSERT/UPDATE/DELETE (choć głowy sobie nie dam uciąć, że się nie da).
kamilos12
Spoko, dzięki, właśnie poczytałem o UNION i można łączyć głównie SELECT'y więc chcąc nie chcąc nie jest to dziura krytyczna smile.gif (proszę nie myśleć że ja takie skrypty tworzę haha.gif)
Pozdrawiam smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.