business_logic
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| business_logic [2025/04/22 16:59] – ppale | business_logic [2025/12/01 11:40] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 8: | Line 8: | ||
| Također za iskorištavanje ovakvih ranjivosti, često nisu potrebni nikakvi alati niti složene tehnike napada, nego se mogu jednostavno izvršiti kroz sama sučelja aplikacije. | Također za iskorištavanje ovakvih ranjivosti, često nisu potrebni nikakvi alati niti složene tehnike napada, nego se mogu jednostavno izvršiti kroz sama sučelja aplikacije. | ||
| - | ===PRIMJER -Zadatak s Hacknite platforme – Voće, povrće i flagovi=== | + | ===PRIMJER - Zadatak s Hacknite platforme – Voće, povrće i flagovi=== |
| < | < | ||
| Line 15: | Line 15: | ||
| </ | </ | ||
| - | Vidi se da je zadatak web trgovina i da je cilj kupiti „Flag“ koji je ponuđen kao artikl u web trgovini. Također, dostupan je izvorni kod zadatka. Pri daljnjem pregledu stranice, vidi se da je ponuđen odabir za količinu | + | Vidi se da je zadatak web trgovina i da je cilj kupiti „Flag“ koji je ponuđen kao artikl u web trgovini. Također, dostupan je izvorni kod zadatka. Pri daljnjem pregledu stranice, vidi se da je ponuđen odabir za količinu |
| {{logicalhighlevel: | {{logicalhighlevel: | ||
| - | Dodavanjem jabuka u košaricu i pokušajem kupnje, pojavljuje se pogreška „ Nedovoljno sredstava na računu „ prikazana na slici 2. | + | Dodavanjem jabuka u košaricu i pokušajem kupnje, pojavljuje se pogreška „Nedovoljno sredstava na računu„ prikazana na slici 2. |
| {{logicalhighlevel: | {{logicalhighlevel: | ||
| - | Pregledom HTML koda za ovaj segment stranice, korištenjem ugrađenih alata za razvoj u web pregledniku (F12) ili drugim načinom, vidi se da je vrijednost koja se odabire definirana | + | Pregledom HTML koda za ovaj segment stranice, korištenjem ugrađenih alata za razvoj u web pregledniku (F12) ili drugim načinom, vidi se da je vrijednost koja se odabire definirana |
| {{logicalhighlevel: | {{logicalhighlevel: | ||
| Line 31: | Line 31: | ||
| {{logicalhighlevel: | {{logicalhighlevel: | ||
| - | Slanjem ovog zahtjeva i pregledom košarice, može se vidjeti da jest ovaj zahtjev obrađen bez izazivanja greške i da je sad ukupna cijena proizvoda u košarici negativna. Prikazano na slici 5. | + | Slanjem ovog zahtjeva i pregledom košarice, može se vidjeti da je ovaj zahtjev obrađen bez izazivanja greške i da je sad ukupna cijena proizvoda u košarici negativna. Prikazano na slici 5. |
| {{logicalhighlevel: | {{logicalhighlevel: | ||
| Line 39: | Line 39: | ||
| {{logicalhighlevel: | {{logicalhighlevel: | ||
| - | U gornjem lijevom kutu se vidi da je stanje na računu 0 €. Uzevši u obzir da ukupna cijena svih proizvoda ne smije biti manje od nule i da vjerojatno mora biti manja ili jednaka stanju na računu, može se deducirati da se vjerojatno može izvršiti kupnja, ukoliko je ukupna cijena svih proizvoda u košarici jednaka nuli. Kako bi se uspješno kupio flag, treba se odabrati jedan ili više flag artikl | + | U gornjem lijevom kutu se vidi da je stanje na računu 0 €. Uzevši u obzir da ukupna cijena svih proizvoda ne smije biti manje od nule i da vjerojatno mora biti manja ili jednaka stanju na računu, može se deducirati da se vjerojatno može izvršiti kupnja, ukoliko je ukupna cijena svih proizvoda u košarici jednaka nuli. Kako bi se uspješno kupio flag, treba se odabrati jedan ili više flag artikala |
| - | Ovaj problem ima više od jednog rješenja, te se može jednostavno riješiti uz malo matematike, isprobavanjem par linearnih jednadžbi, ili isprobavajući različite kombinacije približavajući se rješenju dok se ne uspije složit odgovarajuća kombinacija. | + | Ovaj problem ima više od jednog rješenja, te se može jednostavno riješiti uz malo matematike, isprobavanjem par linearnih jednadžbi, ili isprobavajući različite kombinacije približavajući se rješenju dok se ne uspije složiti odgovarajuća kombinacija. |
| - | Jedno od kombinacija koja ima ukupnu cijenu nula i sadrži flag je sljedeće: | + | Jedna od kombinacija koja ima ukupnu cijenu nula i sadrži flag je sljedeće: |
| < | < | ||
| Flag - (1*trešnje + 9*šljive + 1* banane + 40* jabuke + 5* bonsai) | Flag - (1*trešnje + 9*šljive + 1* banane + 40* jabuke + 5* bonsai) | ||
| Line 55: | Line 55: | ||
| ===Prevencija business logic ranjivosti=== | ===Prevencija business logic ranjivosti=== | ||
| - | Business logic ranjivosti uvelike ovise o samom kontekstu aplikacije, zato je potrebno dobro razumijevanje logike sustava, njegovih funkcionalnosti i namjena pri razvoju i implementaciji sustava, pogotovo kada više ljudi zajedno rade na razvoju. Kada jedna osoba radi na jednoj komponenti sustava koja je povezana s drugom komponentom, | + | Business logic ranjivosti uvelike ovise o samom kontekstu aplikacije, zato je potrebno dobro razumijevanje logike sustava, njegovih funkcionalnosti i namjena pri razvoju i implementaciji sustava, pogotovo kada više ljudi zajedno rade na razvoju. Kada jedna osoba radi na jednoj komponenti sustava koja je povezana s drugom komponentom, |
| - | Osim posvećivanja pažnje sigurnosti koda pri razvoju | + | Dakle, tijekom razvoja, osim posvećivanja pažnje sigurnosti koda, treba voditi računa |
| Izvori:\\ | Izvori:\\ | ||
business_logic.1745341184.txt.gz · Last modified: 2025/12/01 11:40 (external edit)