Lehetséges-e az sql injection md5-ös kódolás esetén?
A kettőnek mi köze van egymáshoz?
Ha a jelszó ellenőrzése béna, akkor úgyis mindegy, hogy mivel kódolták.
Lehetséges, mert a két dolog független egymástól.
Az SQL-injektálás lényege az, hogy a felhasználói oldalról olyan bemenet érkezik, mely kártékony SQL utasítást is tartalmaz.
Tegyük fel, hogy van egy ilyen szerveroldali kódunk:
$nev = $_POST["nev"];
mysqli_query($link,"SELECT * FROM users WHERE name=".$nev.";");
A kártékony felhasználó meg küld egy ilyen bemenetet:
'Sanyi'; DROP TABLE users;
és máris törölte a teljes felhasználókat tartalmazó táblát.
Ahogy a képregény is írja:
Az MD5 kódolás meg - a webfejlesztésben általában - arra szolgál(t), hogy a jelszavakat titkosítottan tároljuk az adatbázisban - mivel az MD5 egy ellenőrzőösszeget állít elő, ami csak egy irányban működik: vagyis a titkosítatlan szövegből képezhető ellenőrzőösszeg, de az ellenőrzőösszegből nem képezhető titkosítatlan szöveg.
Gyakorlatban ez úgy néz ki, hogy regisztrációkor a felhasználó megadja a felhasználónevét+jelszavát, a jelszóból képzünk egy ellenőrzőösszeget és ezt a felhasználónév+ellenőrzőösszeg-párost eltároljuk az adatbázisban.
Bejelentkezéskor meg a felhasználó beírja a felhasználónevét+jelszavát, a jelszóból képzünk egy ellenőrzőösszeget és megnézzük az adatbázisban, hogy az elküldött felhasználónév és a képzett ellenőrzőösszeg megegyezik az adatbázisban levőkkel. Ha igen, beengedjük, ha nem, akkor meg visszajelezzük neki, hogy nem megfelelő.
Ha az adatbázis illetéktelen kezekbe kerül, akkor elvileg a támadó fél nem tudja kideríteni az eredeti jelszót. Viszont az MD5 algoritmusában találtak egy hibát, aminek hatására ez visszakereshetővé válhat. Ezért használnak más ellenőrzőösszeg-készítő algoritmusokat (például SHA256-ot) illetve a titkosítatlan adatot "sózzák" (mellékelnek hozzá egy véletlenszerű karakterekből álló sztringet).
Oké, de hash csak a jelszóra van.
Mi van az összes többi mezővel?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!