User Tools

Site Tools


sql_injection

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
sql_injection [2023/09/27 12:47] – new section katarinasql_injection [2023/09/27 13:01] (current) – done katarina
Line 142: Line 142:
  
 ====Bruteforcing==== ====Bruteforcing====
 +Nekad se database fingerprinting može preskočiti tako da se prije njega pokuša grubom silom (bruteforce) pokušati pogoditi nazive ciljanih tablica i stupaca, što može, ali i ne mora biti uspješno.
 +
 +Proučimo primjer ovakvog postupka na Hacknite zadatku "napredne baze podataka".
 +
 +U slučaju nije izvršen database fingerprinting, nego se na slijepo pokušava nešto iskopati, za prva tri imena stupaca tablice zadaće mpožemo jednostavno pretpostaviti da su ista kao što je i prikazano, što je manje vjerojatno za zadnji stupac naziva „Je li zadaća riješena:” pa će se prva 3 stupca koristiti za UNION SELECT.
 +
 +VAŽNO!!!
 +U tablici lektire prisutna su 3 stupca, dok su u tablici zadaće prisutna 4 stupca. To znači da kada će se raditi UNION SELECT tih dviju tablica, pošto se rezultati prikazuju u tablici s 3 stupca, ne smije se koristiti SELECT * FROM zadaće jer bi nastao error pokušajem prikazivanja dohvaćenih podataka s 4 stupca u tablici s 3 stupca. Umjesto toga, treba odabrati 3 ili manje stupaca iz tablice zadaća, pri čemu ukoliko ih se dohvaća manje od 3, mora se naznačiti da se prazni stupac puni NULL vrijednostima.
 +
 +Pokušajmo sada provesti takav UNION SQL injection:
 +<code sql>
 +/skola.php?ocjena=odličan' UNION SELECT predmet,opis,datum FROM zadace --
 +</code>
 +
 +{{ ::bruteforce_sql_inj.png?nolink&600 | Uspijeh!}}
 +
 +Ovim UNION SQL injectionom dobili smo rješenje zadatka te vidimo da se flag nalazi u stupcu „Opis” tablice zadaće. Nazivi stupaca i vrijednosti u tablici za relacije dohvaćene iz tablice zadaće nisu sukladne jer su se podatci iz baze podataka dohvatili na nepredviđen način te zajedno čine skup podataka za koji tablica u kojoj se prikazuju nije namijenjena.
 +
 +===Izvori===
 +[1]https://aws.amazon.com/what-is/sql/\\
 +[2]https://support.microsoft.com/en-us/office/access-sql-basic-concepts-vocabulary-and-syntax-444d0303-cde1-424e-9a74-e8dc3e460671\\
 +[3]https://www.dofactory.com/sql/syntax\\
 +[4]https://portswigger.net/web-security/sql-injection\\
 +[5]https://portswigger.net/web-security/sql-injection/examining-the-database\\
 +[6]https://portswigger.net/web-security/sql-injection/union-attacks\\
 +[7]https://www.invicti.com/blog/web-security/sql-injection-cheat-sheet/\\
 +[8]https://www.w3schools.com/html/html_urlencode.asp\\
 +[9]https://portswigger.net/web-security/sql-injection/examining-the-database\\
 +[10]https://www2.sqlite.org/cvstrac/wiki?p=InformationSchema
 +
sql_injection.1695818878.txt.gz · Last modified: 2025/06/03 10:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki