Kezdőoldal » Számítástechnika » Biztonság » Lehetséges-e az sql injection...

Nagy Dániel1001 kérdése:

Lehetséges-e az sql injection md5-ös kódolás esetén?

Figyelt kérdés

#hackelés;sqlinjecktion
2016. dec. 1. 20:11
 1/8 anonim válasza:

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.

2016. dec. 1. 20:52
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:
Ezt kifejtenéd? Mit kódolsz MD5-tel? Tudod egyáltalán mit takar az SQL injection?
2016. dec. 1. 21:15
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:

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:

[link]

2016. dec. 1. 21:17
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:

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).

2016. dec. 1. 21:45
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:
Lehetséges.
2016. dec. 2. 07:50
Hasznos számodra ez a válasz?
 6/8 A kérdező kommentje:
Arra gondoltam hogy uye amikor a jelszót beírom akkor azt az inputot md5 kóddá alakítja és összehasonlítja a regisztrációnál átalakított jelszóval. És ugy hogyha így próbálkozunk sql injecktion-al akkor az nem müködik mivel az injectált kódot md5 hashé alakítja így összehasonlítja a jelszóval és ugye így false értéket fog visszadobni. És van egy olyan sql injecktion-al kód amivel ezt még lehet kerülni
2016. dec. 2. 12:08
 7/8 anonim ***** válasza:

Oké, de hash csak a jelszóra van.

Mi van az összes többi mezővel?

2016. dec. 2. 14:25
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:
Arról nem is beszélve, hogy a sima MD5 hash nem elég biztonságos. Egy rainbow tábla és fel van törve. Minimum sózni kell, de inkább sózás + egy MD5-nél jobb algoritmus.
2016. dec. 2. 16:17
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!