User Tools

Site Tools


second_order_sqli

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
second_order_sqli [2026/06/18 17:43] – sitne ispravke mbunicsecond_order_sqli [2026/06/18 17:52] (current) mbunic
Line 20: Line 20:
  
 <code>  <code> 
-"UPDATE users SET password = '" + novi_password + "' WHERE username = '" + korisnicko_ime + "' and password = '" + stari_password +"'"+UPDATE users SET password = '" + novi_password + "' WHERE username = '" + korisnicko_ime + "' and password = '" + stari_password +"'"
 </code> </code>
  
Line 28: Line 28:
  
  
-<code>UPDATE users SET password = 'moj_novi_password23'  WHERE username =  'user' or 'a' = 'a' -- ' and password = 'stari_password'</code>+<code> 
 +UPDATE users SET password = 'moj_novi_password23'  WHERE username =  'user' or 'a' = 'a' -- ' and password = 'stari_password' 
 +</code>
  
-Dvije crtice (--) koje se pojavljuju u upitu su oznaka za početak komentara u mnogim relacijskim bazama podataka.+Dvije crtice koje se pojavljuju u upitu su oznaka za početak komentara u mnogim relacijskim bazama podataka.
  
 <code> -- tekst nakon ove oznake se ne evaluira kao SQL upit nego se smatra komentarom </code> <code> -- tekst nakon ove oznake se ne evaluira kao SQL upit nego se smatra komentarom </code>
Line 36: Line 38:
 Radi toga se dio upita nakon pojave te oznake više ne tretira kao SQL kod, pa je zato prethodni upit ekvivalentan sljedećem:  Radi toga se dio upita nakon pojave te oznake više ne tretira kao SQL kod, pa je zato prethodni upit ekvivalentan sljedećem: 
  
-<code>UPDATE users SET password = 'moj_novi_password23'  WHERE username= 'user' or 'a' = 'a'</code>+<code>UPDATE users SET password = 'moj_novi_password23'  WHERE username = 'user' or 'a' = 'a'</code>
  
 Ovaj upit bi promijenio lozinku svih korisnika u: Ovaj upit bi promijenio lozinku svih korisnika u:
Line 75: Line 77:
 Kao prvi pokušaj iskorištavanja ranjivosti možemo probati napraviti korisnički račun kojemu će korisničko ime biti  Kao prvi pokušaj iskorištavanja ranjivosti možemo probati napraviti korisnički račun kojemu će korisničko ime biti 
  
-<code> aaa' or '1' = '1' – </code>+<code> aaa' or '1' = '1' -- </code>
  
 Nakon stvaranja korisničkog računa s ovim korisničkim imenom, vidimo da se sada unutar tablice povijesti proizvoda nalaze proizvodi svih ostalih korisnika u sustavu, kao što je prikazano na slici ispod. Nakon stvaranja korisničkog računa s ovim korisničkim imenom, vidimo da se sada unutar tablice povijesti proizvoda nalaze proizvodi svih ostalih korisnika u sustavu, kao što je prikazano na slici ispod.
Line 87: Line 89:
 Sada možemo pokušati izvršiti SQL injection, gdje će korisničko ime biti: Sada možemo pokušati izvršiti SQL injection, gdje će korisničko ime biti:
  
-<code> aaaa' UNION SELECT username, password FROM users – </code>+<code> aaaa' UNION SELECT username, password FROM users -- </code>
  
 Kako bismo dohvatili imena i lozinka korisnika iz baze. Izvršavanjem ove SQL injekcije, dobivamo error koji je prikazan na slici ispod. Kako bismo dohvatili imena i lozinka korisnika iz baze. Izvršavanjem ove SQL injekcije, dobivamo error koji je prikazan na slici ispod.
Line 110: Line 112:
 jedino znamo da se dohvaćaju svi stupci iz tablice povijest, ali ne znamo točno koliko jedino znamo da se dohvaćaju svi stupci iz tablice povijest, ali ne znamo točno koliko
  
-U sljedećem pokušaju možemo probati izvršiti SQL injection, gdje ćemo imati koristiti tri stupca u SELECT izrazu. Primjer takvog pokušaja jest stvaranje korisničkog računa s korisničkim imenom:+U sljedećem pokušaju možemo probati izvršiti SQL injection, koristećtri stupca u SELECT izrazu. Primjer takvog pokušaja jest stvaranje korisničkog računa s korisničkim imenom:
  
-<code> aaaa' UNION SELECT username,password,password FROM users – </code>+<code> aaaa' UNION SELECT username,password,password FROM users -- </code>
  
 {{second_order_6.png}} {{second_order_6.png}}
Line 122: Line 124:
 {{second_order_7.png}} {{second_order_7.png}}
  
-Sada smo uspješno izvršili SQL injection pomoću kojega smo dohvatili i prikazali korisnička imena i hasheve lozinka svih korisnika u sustavu, Možemo vidjeti da su korisnici korisnički računi koje smo stvarali za izvršavanje SQL injekcija, te da jest zadnji korisnik, korisnik s korisničkim imenom //admin//+Sada smo uspješno izvršili SQL injection pomoću kojega smo dohvatili i prikazali korisnička imena i hasheve lozinki svih korisnika u sustavu, Možemo vidjeti da su korisnici korisnički računi koje smo stvarali za izvršavanje SQL injekcija, te da jest zadnji korisnik, korisnik s korisničkim imenom //admin//
  
-Kako bi dobili njegovu lozinku, odnosno „revers“ hasha njegove lozinke, možemo iskoristiti crackstation.net, veliku bazu podataka s parovima tekstualnih vrijednosti i njihovih već izračunatih hash vrijednosti u raznim algoritmima. Unosom administratovog hash-a lozinke u crackstation, dobivamo informaciju, da se ta hash vrijednost već nalazi u crackstation bazi i da je to hash vrijednost koja se dobiva hashiranjem vrijednosti //zlocinikazna// algoritmom //sha256//.+Kako bi dobili njegovu lozinku, odnosno „revers“ hasha njegove lozinke, možemo iskoristiti crackstation.net, veliku bazu podataka s parovima tekstualnih vrijednosti i njihovih već izračunatih hash vrijednosti u raznim algoritmima. Unosom administratorovog hash-a lozinke u crackstation, dobivamo informaciju, da se ta hash vrijednost već nalazi u crackstation bazi i da je to hash vrijednost koja se dobiva hashiranjem vrijednosti //zlocinikazna// algoritmom //sha256//.
  
 {{second_order_8.png}} {{second_order_8.png}}
second_order_sqli.1781804592.txt.gz · Last modified: 2026/06/18 17:43 by mbunic

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki