User Tools

Site Tools


command_injection

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
command_injection [2023/11/13 11:09] zrinkacommand_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 sa Hacknite platforme - Linux ROT13**+__**PRIMJER**__ **Zadatak Hacknite platforme - Linux ROT13**
 <file> <file>
 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ćLinux naredbi.+napravljen uz pomoć Linux naredbi.
 Flag je u formatu CTF2021[brojevi]. Flag je u formatu CTF2021[brojevi].
 http://chal.platforma.hacknite.hr:10013 http://chal.platforma.hacknite.hr:10013
Line 84: Line 84:
 **%2F** je oznaka za **/**. \\ **%2F** je oznaka za **/**. \\
  
-__**PRIMJER**__ **Zadatak sa Hacknite platforme - Linux naredbe**+__**PRIMJER**__ **Zadatak Hacknite platforme - Linux naredbe**
 <file> <file>
 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:
 </file> </file>
  
-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 "flag" na toj putanju i na trenutni URL u tražilici dodati sljedeće: +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 "flag" na toj putanju i na trenutni URL u tražilici dodati sljedeće: 
 <code>http://.../linux.php?cmd=3&arg=;%20cat%20/var/www/flag</code> <code>http://.../linux.php?cmd=3&arg=;%20cat%20/var/www/flag</code>
 To je ujedno i naše rješenje. To je ujedno i naše rješenje.
Line 100: Line 100:
 [2]https://www.imperva.com/learn/application-security/command-injection/\\ [2]https://www.imperva.com/learn/application-security/command-injection/\\
 [3]https://portswigger.net/web-security/os-command-injection\\ [3]https://portswigger.net/web-security/os-command-injection\\
 +[4]https://platforma.hacknite.hr/challenges\\
command_injection.1699873745.txt.gz · Last modified: 2025/12/01 11:40 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki