ako user zisti svoje zakodovane heslo

Sekcia: Programovanie 29.11.2005 | 21:08
dvh   Návštevník
Ahoj Robim program (v podstate xlock) kde potrebujem v istej faze overit uzivatelove heslo. Konkretne to robim asi takto: if (strcmp(crypt(retazec,heslo),heslo) == 0) { printf("heslo ok\n"); } Problem je ze neviek ako zistit to "heslo" co je zakodovane heslo. Ked pouzijem pwd.h tak je tam "x" lebo tam sa hesla nezobrazuju, ak pouzijem shadow.h tak ma tam nepusti lebo to moze len root. Moze teda uzivatel nejak zistit alebo aspon overit svoje heslo? dvh.tosomja@post.sk
    • Re: ako user zisti svoje zakodovane heslo 28.11.2005 | 15:55
      Avatar nardew debian  Používateľ
      subor /etc/shadow je defaultne pre citanie aj normalnym userom, teda cat /etc/shadow | a uz si napis daky skriptik ktory dokazde to heslo odtial vysekat....
      • Re: Re: ako user zisti svoje zakodovane heslo 28.11.2005 | 16:35
        dvh   Návštevník
        Scriptik pisat netreba, v shadow.h su na to procedury, problem je ale v tom ze vo FC4 a tusim ani inde /etc/shadow obycajny user neprecita, aky by mal potom shadow vyznam ak by ho mohol citat obycajny user??? iny sposob nieje? ako to napr. robi passwd?
      • Re: Re: ako user zisti svoje zakodovane heslo 28.11.2005 | 17:50
        azurIt   Návštevník
        no ty si riadne mimo :) ale v pohode, stava sa vselico ludom
    • Re: ako user zisti svoje zakodovane heslo 28.11.2005 | 18:27
      Avatar borg Fedora  Administrátor
      john the ripper
      • Re: Re: ako user zisti svoje zakodovane heslo 28.11.2005 | 19:30
        peter golis   Návštevník
        ano, ale k tomu musi mat clovek obsaho /etc/shadow. teda aspon heslo v jeho kryptovanej forme.
        • Re: Re: Re: ako user zisti svoje zakodovane heslo 28.11.2005 | 19:48
          Avatar borg Fedora  Administrátor
          prepdokladal som ze dotycny ma uid a gid 0 na danej masine ;)
    • Re: ako user zisti svoje zakodovane heslo 28.11.2005 | 19:54
      peter golis   Návštevník
      ak pouzijes v programe funkcie z shadow.h tak musi mat program SetUID flag na root-a. a to neodporucam pri neotestovanych programoch. otazne je naco robis odzakladu program xlock, ak uz je vytvoreny a stabilny. ak pre studijne ucely, tak si pozri jeho zdrojaky ;-)
      • Re: Re: ako user zisti svoje zakodovane heslo 29.11.2005 | 17:20
        dvh   Návštevník
        Vo FedoraCore 4 nieje xlock, nasiel som zdrojaky pre xlock ale povacsinou citaju /etc/passwd co je uplny blud ktory nemoze na normalnom systeme fungovat. /etc/shadow nemoze citat obyc user takze asi program passwd ma setuid nastaveny. Asi to spravim tak ze pri prvom pusteni xlock vyhodim dialog kde od uzivatela vypytam heslo pre xlock a to ulozim do jeho home adresara a nastavim citanie len pre usera. nejaky lepsi napad?
        • Re: Re: Re: ako user zisti svoje zakodovane heslo 29.11.2005 | 21:02
          peter golis   Návštevník
          program xlock bol kedysi sucastou projektu xscreensaver. rozne distribucie pouzivali rozny pristup na balenie daneho projektu. niekedy to bol jeden balik, niekedy to rozdelili do dvoch (base, applications), niekedy ich bolo niekolko desiatok (kazda cast screensaveru bola osve, teda kazdy programik co setril obrazovku). ale ten treti sposob uz dufam zanikol. vo fedore je to myslim rozdelene na 3 baliky (base, extras a gl-extras). a ak sa nemylim tak v dnesnej dobe to pouziva PAM na overovanie autorizacie. takze ak to chces pouzivat, tak to nainstaluj. ak si chces naprogramovat nieco podobne, tak sa pozri do jeho zdrojakov. al sa chces naucit programovat s autentifikaciou, tak si pozri PAM. ale ak nikto potrebuje nejaku jednoduchu autentifikaciu (napr. pre webovy portal), tak existuju aj ine moznosti.
    • Re: ako user zisti svoje zakodovane heslo 28.11.2005 | 19:59
      lubo   Návštevník
      Neviem či tomu dobre rozumiem. Ak program chce overiť heslo musi ho poznať, alebo vyzvať na jeho zadanie. John the ripper je použiteľny ak niekto zabudne heslo. Prave ho s ďalšími pogramami skusam na ziskanie hesla zo suboru SAM /winxp/. Kratke jednoduche stvorpismenkove heslo zistil hned. No kombinovane heslo s cislicami a viac znakmi neviem ci zisti. Zatial ide len 7 hod. :-)
    • Re: ako user zisti svoje zakodovane heslo 28.11.2005 | 20:08
      Avatar nardew debian  Používateľ
      mno neviem, ja mam gentoo a /etc/shadow mam na citanie od zaciatku
      • Re: Re: ako user zisti svoje zakodovane heslo 28.11.2005 | 20:13
        Avatar borg Fedora  Administrátor
        ale pre vlastnika, ktorym je root? nie?
        • Re: Re: Re: ako user zisti svoje zakodovane heslo 29.11.2005 | 21:08
          Avatar nardew debian  Používateľ
          ee, aj pre normal usera, ale uz viem preco.... pri instalacii gentoo tam bol daky bug s pravami, tak bolo treba dat na cely / prava 755... takze sry men
      • Re: Re: ako user zisti svoje zakodovane heslo 29.11.2005 | 20:31
        lubo   Návštevník
        v debiane je default nastavenie práv 640 znamená že čítať a zapiasovať root, čítať skupina shadow