Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Niebiezpieczne zapytania sql
daniel111
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 28.08.2003

Ostrzeżenie: (0%)
-----


Podobono można do formularza, który zapisuje dane do bazy, wpisać zapytanie sql, które może wyrządzić jakieś szkody ...
Mam pytanie, jakiego typu są to zapytania i jak to działa - i także chce przetestować, czy u mnie da się tak zaszkodzić?
Go to the top of the page
+Quote Post
uboottd
post
Post #2





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

Ostrzeżenie: (0%)
-----


np. dla zapytania logujacego:

[sql:1:3d5cbf9009]
SELECT uid
FROM users
WHERE user='$user' and pass = '$pass'
[/sql:1:3d5cbf9009]

podac wartosci:
user = root' --
pass = cokolwiek

wtedy po podstawieniu zmiennych zapytanie przyjmuje postac:
[sql:1:3d5cbf9009]
SELECT uid
FROM users
WHERE user='root' --' and pass = 'cokolwiek'
[/sql:1:3d5cbf9009]
... i poniewaz -- oznacza poczatek komentarza do konca lini loguje na root z dowolnym haslem.
Go to the top of the page
+Quote Post
daniel111
post
Post #3





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 28.08.2003

Ostrzeżenie: (0%)
-----


no niestety u mnie to nie działa - może gdzie zrobiłeś literówke (miślnikówke)?

ja mam taki sql:
SELECT name
FROM uzytkownicy
WHERE login = '$_POST[uzytkownik]' and pass = '$_POST[haslo]'

poza tym używam ssl ...

no ale u mnie nie nabiera się na taką sztuczkę ...
Go to the top of the page
+Quote Post
adwol
post
Post #4





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
no niestety u mnie to nie działa - może gdzie zrobiłeś literówke (miślnikówke)?

ja mam taki sql:
SELECT name
FROM uzytkownicy
WHERE login = '$_POST[uzytkownik]' and pass = '$_POST[haslo]'

Przykład jest dobry, ale widocznie masz u siebie włączony parametr konfiguracyjny magic_quotes_gpc, co powoduje, że każdy string z tablicy $_GET, $_POST i $_COOKIE jest, przed przekazaniem sterowania do Twojego kodu, automatycznie eskejpowany w celu zabezpieczenia się przed takimi sytuacjami..
Cytat
poza tym używam ssl ...

A to akurat nie ma znaczenia. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Cytat
no ale u mnie nie nabiera się na taką sztuczkę ...

To bardzo dobrze. Tylko pogratulować. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
daniel111
post
Post #5





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 28.08.2003

Ostrzeżenie: (0%)
-----


OK, a czy są jakieś inne sposoby?
Go to the top of the page
+Quote Post
adwol
post
Post #6





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
OK, a czy są jakieś inne sposoby?

Czego? Zabezpieczania się przed wstawianiem potencjalnie niebezpiecznych znaków? Można samemu eskejpować zawartości zmiennych umieszczanych w zapytaniach funkcjami typu mysql_escape_string czy pg_escape_string.
Go to the top of the page
+Quote Post
daniel111
post
Post #7





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 28.08.2003

Ostrzeżenie: (0%)
-----


Chodziło mi o sposoby włamania jakąś instrukcją ...
Go to the top of the page
+Quote Post
adwol
post
Post #8





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
Chodziło mi o sposoby włamania jakąś instrukcją ...

Poszukaj na sieci pod kątem sql-injection. Napewno coś znajdziesz.
Go to the top of the page
+Quote Post
sivyer
post
Post #9





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 17.04.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Co do SQL-Injection, to znalazlem przed chwila dosc ciekawy artykul na ten temat: SQL Injection Attacks - Are You Safe?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 13:45