logar root atraves de programa

Started by Binevatum, 15 de September , 2008, 11:53:00 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Binevatum

#include <stdio.h>
#include <string.h>

#include <unistd.h>
#include <sys/types.h>

int main() {
FILE *wordlist;
char c;
char buff[100];

wordlist = fopen("wordlist.txt", "r");
if(wordlist == 0) {
printf("Não carregou o wordlist\n");
return(0);
}

while(fscanf(wordlist, "%c", &c) != EOF) {
if(c != '\n') {
sprintf(buff, "%s%c", buff, c);
}
else {
system("su");
puts(buff);
strcpy(buff, "");
if(getuid()==0) break;
}
}

printf("\n");
fclose(wordlist);

return(0);
}
 

Esse código acima deveria tentar logar como root no linux usando como base uma wordlist, porem, depois que eu chamo a função system("su"); o sistema pede que eu insira a senha e só depois de pressionar ENTER é que ele imprime a senha na tela.

Existe alguma função em C para se logar diretamente, ou alguma forma de conseguir imprimir a senha na hora certa?