-
SQL injection
Witam wszystkich.
Mam pytanie odnośnie SQL injection. wiem, że watkow o tej tematyce bylo sporo, ale wciaz nie moge zrozumiec, chociaz czytalem wiele poradnikow jak korzystac ze sql injection. np atak ' or 1=1. Rozumiem, ze po wpisaniu w polu login ' OR '1'='1 zapytanie bedzie mialo postac:
Kod:
SELECT USER_ID FROM USERS WHERE (LOGIN='admin') AND (PASSWORD='' OR '1'='1')
No i teraz, co to mi da? Móglby ktos mi polecic jakis dobry kurs SQL injection? Bylbym bardzo wdzieczny za kazda, najmniejsza wskazowke/linka.
pozdrawiam
-
Najpierw zapoznaj się z podstawowymi prawami logiki rachunku zdań.
-
-
Kod:
(PASSWORD='' OR '1'='1')
Cytat:
Napisał
Quers
No i teraz, co to mi da?
1.Sprawdź, czy PASSWORD jest równy podanej wartości
2.Sprawdź, czy 1 jest równe 1
3.Jeśli którykolwiek z powyższych warunków jest prawdziwy to zalogój
Ps. W większości przypadków 1 naprawdę równa się 1
-
ja bym zrobil to inaczej
Kod:
SELECT USER_ID FROM USERS WHERE LOGIN='admin' AND PASSWORD='' or concat(login,password) like 'admin%' limit 1
przed % dopisujesz a-z0-9 czy w jakim tam formacie haslo jest. Najlepiej napisac do tego jakis program bo to z reguly trwa.
I tak mozemy odczytac cale haselko tudziez hash.
Oczywiscie ma to sens jak nie wyswietla sie wynik zapytania ;)