argument_injection
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| argument_injection [2025/04/22 16:40] – ppale | argument_injection [2025/12/01 11:40] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 22: | Line 22: | ||
| {{argumentinjectionv2: | {{argumentinjectionv2: | ||
| - | Ovime se efektivno ime učitane datoteke koristi kao dio naredbe, te se može iskoristiti za command injection. | + | Ovaj command injection ima ograničenje. |
| - | Kako bi se uspješno | + | Kako bi se uspješno |
| - | Da bi se command injection u naredbi pozivanja GCC-a efektivno iskoristio, trebaju se istražiti funkcionalnosti i zastavice GCC-a, kako bi se pronašao način za iskorištavanje pronađene ranjivosti. GCC ima funkcionalnost pozivanja subkomandi unutar wrapper programa, korištenjem -wrapper zastavice. Ova funkcionalnost se može iskoristiti kako bi se pokrenuo bash process i dala mu se naredba koju napadač želi izvršiti. | + | |
| Potrebno je i analizirati kôd kako bi se pronašlo može li napadač nekako dobiti rezultat pokretanja injektiranje naredbe preko sučelja aplikacije. Ako ne može, onda treba provjeriti može li se izvući preko weba ili može li se pokrenuti reverse shell, kako bi se ispravnoi oblikovala injektirana naredba. Analizom izvornog kôda prikazanom na slici 2. , može se uočiti da će se rezultat izvršavanja subprocessa ispisati kao paragraf na vraćenoj stranici. | Potrebno je i analizirati kôd kako bi se pronašlo može li napadač nekako dobiti rezultat pokretanja injektiranje naredbe preko sučelja aplikacije. Ako ne može, onda treba provjeriti može li se izvući preko weba ili može li se pokrenuti reverse shell, kako bi se ispravnoi oblikovala injektirana naredba. Analizom izvornog kôda prikazanom na slici 2. , može se uočiti da će se rezultat izvršavanja subprocessa ispisati kao paragraf na vraćenoj stranici. | ||
| Line 31: | Line 30: | ||
| - | Kada je poznato da se command injection može izvršiti i vidjeti rezultat izvođenja naredbe na sučelju aplikacije, može se prvo konstruirati | + | Kada je poznato da se command injection može izvršiti i vidjeti rezultat izvođenja naredbe na sučelju aplikacije, može se prvo konstruirati |
| - | Prvo se generira neka vrlo jednostavna .c datoteka čiji kod nije bitan, te joj se ime odmah promijeni u payload, ili se poslan zahtjev s normalnim imenom datoteke presretne burp suiteovim presretačem (eng. Proxy) i tamo promjeni. | + | Prvo se generira neka vrlo jednostavna .c datoteka čiji kod nije bitan, te joj se ime odmah promijeni u tekst payloada, ili se poslan zahtjev s normalnim imenom datoteke presretne burp suiteovim presretačem (eng. Proxy) i tamo promjeni. |
| Payload ime datoteke za pokretanje ls naredbe, uz zaobilaženje filtera glasi: | Payload ime datoteke za pokretanje ls naredbe, uz zaobilaženje filtera glasi: | ||
| Line 42: | Line 41: | ||
| {{argumentinjectionv2: | {{argumentinjectionv2: | ||
| - | Slanjem ovog zahtjeva, na stranici se ispisuju sve datoteke u trenutnom direktoriju, | + | Slanjem ovog zahtjeva, na stranici se ispisuju sve datoteke u trenutnom direktoriju, |
| {{argumentinjectionv2: | {{argumentinjectionv2: | ||
| Line 54: | Line 53: | ||
| </ | </ | ||
| - | U bashu, može se vidjeti koji su znakovi definirani kao razdjeljivači. Oni su uobičajeno space, tab i newline. Da bi zamijenili ulogu razmaka | + | u bashu, može se vidjeti koji su znakovi definirani kao razdjeljivači. Oni su uobičajeno space, tab i newline. Da bi u naredbi „cat flag.txt“ |
| < | < | ||
argument_injection.1745340053.txt.gz · Last modified: 2025/12/01 11:40 (external edit)