second_order_sqli
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| second_order_sqli [2023/12/04 15:12] – lss | second_order_sqli [2025/12/01 11:40] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| Second order SQL injection je podskup SQL injection ranjivosti, koji je kompliciraniji za izvršiti, ali je i razvojnim programerima teže detektirati takvu ranjivost . Razlika je što obični (first order) SQL injection je prisutan u slučajevima kada se korisnički unos, koji se odmah izvršava unutar nekog SQL upita, nije dobro sanitiziran i osiguran, dok second order SQL injection se izvršava tako da se neki korisnički unos prvo pohrani negdje na server ili u bazu podataka, a zatim se pozivanjem neke druge funkcionalnosti, | Second order SQL injection je podskup SQL injection ranjivosti, koji je kompliciraniji za izvršiti, ali je i razvojnim programerima teže detektirati takvu ranjivost . Razlika je što obični (first order) SQL injection je prisutan u slučajevima kada se korisnički unos, koji se odmah izvršava unutar nekog SQL upita, nije dobro sanitiziran i osiguran, dok second order SQL injection se izvršava tako da se neki korisnički unos prvo pohrani negdje na server ili u bazu podataka, a zatim se pozivanjem neke druge funkcionalnosti, | ||
| - | Jednostavan primjer bi bio aplikacija, gdje je forma za registraciju korisnika zaštićena od SQL injectiona tako što dobro interpretira unos korisnika kao string i ne može se „escape-ati“ pomoću posebnih znakova, te bi korisnik pokušajem registracijom gdje unosi vrijednost | + | Jednostavan primjer bi bio aplikacija, gdje je forma za registraciju korisnika zaštićena od SQL injectiona tako što dobro interpretira unos korisnika kao string i ne može se „escape-ati“ pomoću posebnih znakova, te bi korisnik pokušajem registracijom gdje unosi vrijednost |
| Primjer nezaštićenog koda za izmjenu lozinke bio: | Primjer nezaštićenog koda za izmjenu lozinke bio: | ||
| Line 23: | Line 23: | ||
| __**Primjer**__ - **Zadatak s Hacknite platforme** - **e-Trgovina Union** | __**Primjer**__ - **Zadatak s Hacknite platforme** - **e-Trgovina Union** | ||
| - | **TODO: ubaci opis zadatka ovdje** | + | < |
| + | Lokalna trgovina je odlučila napraviti svoju web stranicu na kojoj kupci mogu pratiti svoju povijest kupovine. Korisnici se mogu sami registrirati na tu stranicu, i pri svakoj fizičkoj kupnji u trgovini mogu dati svoje korisničko ime kako bi se njihova povijest kupovine unijela u bazu podatka. Stranica bi mogla biti korisna svim sadašnjim i budućim kupcima trgovine! | ||
| + | |||
| + | Flag je u formatu CTF2021[brojevi] | ||
| + | |||
| + | http:// | ||
| + | </ | ||
| Pri rješavanju zadatka, prvo što nam se nudi je forma za registraciju. | Pri rješavanju zadatka, prvo što nam se nudi je forma za registraciju. | ||
| Line 49: | Line 55: | ||
| < | < | ||
| - | Nakon stvaranja korisničkog računa | + | Nakon stvaranja korisničkog računa |
| {{second_order_4.png}} | {{second_order_4.png}} | ||
| - | Ovo znači da smo uspjeli izvršiti SQL injekciju nad sustavom i da sada znamo iskoristiti ranjivost. Sada još samo moramo pronaći način kako napraviti SQL injekciju | + | Ovo znači da smo uspjeli izvršiti SQL injekciju nad sustavom i da sada znamo iskoristiti ranjivost. Sada još samo moramo pronaći način kako napraviti SQL injekciju |
| - | Iz koda znamo da u bazi postoji tablica // | + | Iz koda znamo da u bazi postoji tablica // |
| 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: | ||
| Line 85: | Line 91: | ||
| {{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 | + | 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 |
| - | Kako bi dobili njegovu lozinku, odnosno „revers“ hasha njegove lozinke, možemo iskoristiti crackstation.net, | + | Kako bi dobili njegovu lozinku, odnosno „revers“ hasha njegove lozinke, možemo iskoristiti crackstation.net, |
| {{second_order_8.png}} | {{second_order_8.png}} | ||
second_order_sqli.1701702746.txt.gz · Last modified: 2025/12/01 11:40 (external edit)