[ SpeedFreak @ 08.11.2004. 20:37 ] @
mozhe li nekako program koji ja napravim (u c++) da daje komande konsoli?npr. program koji daje korisniku nekoliko izbora,a jedan od njih je pokretanje kde-a! u konsoli je to komanda 'kde',ali ne znam kako program mozhe napisati poruku koju ce konsola prihvatiti kao komandu...
[ Alef @ 08.11.2004. 21:40 ] @
Code:

system("kde");


man system
[ Dejan Lozanovic @ 09.11.2004. 16:31 ] @
Citat:
Alef:
Code:

system("kde");


man system ;)


ne koristiti funkciju system ni u ludilu, jer je lako uvek napakovati primer sa kojim ces lako ishakovati program, za takve stvari mora da se koristi fork/exec.


A sto se samog odgovora na temu tice, pogledaj ncursers, tamo ces naci to sto ti treba.
[ Alef @ 09.11.2004. 19:30 ] @
Čekaj, nisam te baš razumeo, zašto ne system? Ja sam je koristio nebrojeno puta i nikada nisam imao problema? Pa sa čim god da rukuješ, ako rukuješ nepravilno možeš da napraviš kuršlus…
[ Dejan Lozanovic @ 10.11.2004. 13:51 ] @
Mogu ukratko, ti kada pozivas system funkciju ona se obraca shell-u a shell onda poziva fork exec, e sada sav hakeraj se nalazi u tome da prevaris shell da on pozove drugi program, ovo je narocito opasno ako se tvoj program izvrsava pod drugim uidom(npr root).

ukoliko bi pozivao

system("ls");

tada shell prodje kroz PATH enviroment promenljivu i startuje prvu komandu koja mu se nalazi u path-u tada je trik da napadac promeni PATH tako da pokazuje prvo na direktorijum gde se nalazi njegova komanda ls koja ce da preuzme kontrolu nad sistemom jer ce biti pokrenuta pod drugim privilegijama.

E sada ces reci tipa pa dobro moze i ovako tada nema dodira sa PATH-om

system("/bin/ls");

u ovakvom slucaju napadac podesi IFS="/" (IFS=Input Field Separators. This is normally set to 〈space〉,〈tab〉, and 〈newline〉. See the White Space Splitting section for more details; man sh) napravi izvrsni fajl "bin" koji je kukavicije jaje u ovom slucaju. I opet je pokrenut drugi program umesto naseg zeljenog. Drugim recima shell je opasno jak alat pa je system(); nije preporucljiv za koriscenje.
[ Alef @ 10.11.2004. 17:52 ] @
Hvala.