Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Niebiezpieczne zapytania sql
daniel111
post 28.08.2003, 16:42:23
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 28.08.2003, 17:16:48
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 28.08.2003, 19:14:58
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 28.08.2003, 20:15:13
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. winksmiley.jpg
Cytat
no ale u mnie nie nabiera się na taką sztuczkę ...

To bardzo dobrze. Tylko pogratulować. smile.gif
Go to the top of the page
+Quote Post
daniel111
post 28.08.2003, 22:10:54
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 28.08.2003, 22:21:43
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 29.08.2003, 10:11:15
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 29.08.2003, 11:40:59
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 30.08.2003, 15:47:22
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 07:39