pozmu.net::blog

Blog porzeraczamuzguw

Sposób na sql injection

Kiedyś robiłem trochę w . Wszystko było fajnie i w ogóle, do momentu, gdy usłyszałem o sql injection. Padł blady strach, przetestowałem jedną z moich witryn i okazało się, że jest na to podatna. Zacząłem szukać jakiegoś rozwiązania ale prawdę mówiąć kiepsko mi szło… w końcu skleciłem funkcję która, jak mi się wydawało, dawała pełne bezpieczeństwo. Okazuje się jednak, że to zabezpieczenie można było łatwo obejść… na szczęście w owych czasach chyba nikt na to jeszcze nie wpadł. Anyway, jeśli chcecie się dobrze zabezpieczyć to znalazłem takie coś:

Zastosowanie:
// Przyjmujemy, dla przykładu:
$_POST['uid'] = 1;
$_POST['name'] = 'Łukasz "anAKiN" Lach';
$_POST['username'] = 'anakin';
$_POST['password'] = 'an4kin';
$_POST['newsletter'] = 1;

$sql = SQL('INSERT INTO users (id, uid, name, username, password, newsletter) '.
'VALUES (NULL, %d, %s, %s, %s, %b)', $_POST['uid'], $_POST['name'],
$_POST['username'], md5($_POST['password']), $_POST['newsletter']);

Wynikowa wartość (zapytanie wynikowe):
INSERT INTO users (id, uid, name, username, password, newsletter)
VALUES (NULL, 1, "Łukasz \"anAKiN\" Lach", "anakin",
"97296eca657a093aa379778c237e292d", 1)

Autor: Łukasz Lach.
To co mi się podoba w tym rozwiązaniu to bardzo ładna konstrukcja funkcji, emulująca znaną programistom składnię i ograniczająca kłopotliwość definiowania typu przekazywanych do bazy danych do minimum. Jednocześnie, jako że wszystko dzieje się tuż przed wysłaniem do bazy łatwo sobie przyswoić nawyk stosowania tej funkcji zamiast „gołego” zapytania SQL.

Jeśli uważasz, że ta strona zawiera przydatne lub ciekawe informacje, namawiamy do umieszczenia prowadzącego do niej linka na własnej witrynie WWW.
Aby to zrobić po prostu skopiuj widoczny poniżej kod i wklej na swoją stronę (Naciśnij CTRL+C aby skopiować).
Link będzie wyglądał tak: Sposób na sql injection

3 komentarze

  1. Dami powiedział:

    To zadziała tylko jak magic_quotes_gpc jest wyłączone, w innym wypadku ukośniki będą dodane 2x

  2. marti powiedział:

    jak mozna to usunac, pobralam ten program a teraz nie moge odtworzyc swoich fotek, usuwam go ale nic to nie daje…
    ja cgce moje fotki, please hepl

  3. porzeraczmuzguw powiedział:

    Jaki program, jakie fotki???

Dodaj komentarz

Proszę zauważ: Moderacja komentarzy jest włączona i może opóźnieć pojawienie się twojego komentarza na stronie. Nie ma potrzeby wysyłania twojego komentarza ponownie.