SQL injekció teszteléséhez, bemutatásához.
A program a sikeres vagy sikertelen bejelentkezést a konzolon közli.
- Hozzunk létre a projekt gyökérkönyvtárában egy database.sqlite fájlt.
- Használjuk a datatabase/database.sqlite fájlban található SQL utasításokat.
- Az adatbázisban a jelszót kódolni kell.
- A UI felületen a jelszót PasswordField-ben kell bekérni.
- admin:titok
- janos:titok
SQL injekció példa:
- admin' --
- ' or 1=1 --
Az első változatnál ismerni kell a felhasználót, a másodiknál azt sem.
A src/main/java/lan/zold/models/UserSource.java fájlban beállítható, hogy Statement vagy PreperedStatement osztállyal legyen megvalósítva az adatbázis elérés.
A Statemen használata, ami nem véd az SQL injekció ellen:
final boolean PREPARED = false;Ha szeretnék védelmet bemutatni, akkor állítsuk true értékre.