command_injection
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| command_injection [2023/11/22 10:17] – zrinka | command_injection [2025/12/01 11:40] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 60: | Line 60: | ||
| Ukratko, command injection napad može se izvesti u naredbama koja nemaju dobro provedenu validaciju korisničkog unosa. Kako bi se izbjegao, aplikacija ne bi trebala ignorirati svaki unos koji djeluje neispravno, već bi trebala pogledati postoji li nešto u toj naredbi što bi moglo potencijalno biti command injection napad. | Ukratko, command injection napad može se izvesti u naredbama koja nemaju dobro provedenu validaciju korisničkog unosa. Kako bi se izbjegao, aplikacija ne bi trebala ignorirati svaki unos koji djeluje neispravno, već bi trebala pogledati postoji li nešto u toj naredbi što bi moglo potencijalno biti command injection napad. | ||
| - | __**PRIMJER**__ **Zadatak | + | __**PRIMJER**__ **Zadatak |
| < | < | ||
| Ivica obožava raditi s Linuxom, i pokušava koristiti Linux naredbe gdje god može. Budući da mu je trebao | Ivica obožava raditi s Linuxom, i pokušava koristiti Linux naredbe gdje god može. Budući da mu je trebao | ||
| ROT13 kalkulator za CTF natjecanje, odlučio je napraviti web stranicu na kojoj se nalazi ROT13 kalkulator | ROT13 kalkulator za CTF natjecanje, odlučio je napraviti web stranicu na kojoj se nalazi ROT13 kalkulator | ||
| - | napravljen pomoću Linux naredbi. | + | napravljen |
| Flag je u formatu CTF2021[brojevi]. | Flag je u formatu CTF2021[brojevi]. | ||
| http:// | http:// | ||
| Line 84: | Line 84: | ||
| **%2F** je oznaka za **/**. \\ | **%2F** je oznaka za **/**. \\ | ||
| - | __**PRIMJER**__ **Zadatak | + | __**PRIMJER**__ **Zadatak |
| < | < | ||
| Kroz učenje razvoja web stranica Ivica sve više uči i o Linuxu. Kako bi uspješno zapamtio sve što je naučio o Linux naredbama te ujedno vježbao izradu web stranica, napravio je interaktivnu web stranicu koja demonstrira što rade različite Linux naredbe. | Kroz učenje razvoja web stranica Ivica sve više uči i o Linuxu. Kako bi uspješno zapamtio sve što je naučio o Linux naredbama te ujedno vježbao izradu web stranica, napravio je interaktivnu web stranicu koja demonstrira što rade različite Linux naredbe. | ||
| Line 92: | Line 92: | ||
| </ | </ | ||
| - | Rješenje je slično prethodnom, samo što nemamo prostor za korisnički unos, već unosimo naredbu u URL. Pri tome moramo paziti na kodiranje znakova. U ovom se slučaju koristi klasično URL kodiranje. Oznaka %20 označava razmak. Ako želimo izvesti naredbu preko URL-a, moramo zadati naredbu (parametar //cmd//) i argumente (parametar //arg//). Zadat ćemo neku nepostojeću naredbu koja će baciti grešku (npr. neki broj), a cijelu malicioznu naredbu stavit ćemu u argument. Isto kao i prije, krenut ćemo oznakom kraja naredbe (;) i nakon toga upisati cat naredbu datoteke koju želimo pročitati. Budući da stranice predefinirano povlače datoteke s putanje /var/www, pretpostavit ćemo da postoji datoteka " | + | Rješenje je slično prethodnom, samo što nemamo prostor za korisnički unos, već unosimo naredbu u URL. Pri tome moramo paziti na kodiranje znakova. U ovom se slučaju koristi klasično URL kodiranje. Oznaka %20 označava razmak. Ako želimo izvesti naredbu preko URL-a, moramo zadati naredbu (parametar //cmd//) i argumente (parametar //arg//). Zadat ćemo neku nepostojeću naredbu koja će baciti grešku (npr. neki broj), a cijelu malicioznu naredbu stavit ćemo argument. Isto kao i prije, krenut ćemo oznakom kraja naredbe (;) i nakon toga upisati cat naredbu datoteke koju želimo pročitati. Budući da stranice predefinirano povlače datoteke s putanje /var/www, pretpostavit ćemo da postoji datoteka " |
| < | < | ||
| To je ujedno i naše rješenje. | To je ujedno i naše rješenje. | ||
command_injection.1700648231.txt.gz · Last modified: 2025/12/01 11:40 (external edit)