Advertisement
Guest User

l

a guest
Jan 30th, 2016
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.05 KB | None | 0 0
  1. // Created by Hidden (hidden@undernet.org)
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <string.h>
  6. #include <unistd.h>
  7.  
  8. struct USER {
  9.     int id;
  10.     char name[32];
  11.     char pass[32];
  12. } u = { 0, "nobody", "Ksdkjkk32avsh" };
  13.  
  14.  
  15.  
  16. int main(int argc, char **argv)
  17. {
  18.     char user[32];
  19.     char pass[32];
  20.     char command[64];
  21.     char *shell[] = { command, 0 };
  22.     char *p;
  23.  
  24.     printf("Username: ");
  25.     fgets(user, 31, stdin);
  26.     p = strchr(user, '\n');
  27.     if (p)
  28.         *p = '\0';
  29.     if (strcmp(user, u.name))
  30.         return 0;
  31.     printf("Password: ");
  32.     fgets(pass, 31, stdin);
  33.     p = strchr(pass, '\n');
  34.     if (p)
  35.         *p = '\0';
  36.     if (strcmp(pass, u.pass))
  37.         return 0;
  38.     printf("Command: ");
  39.     if (fgets(command, 128, stdin) == NULL)
  40.         return 0;
  41.     p = strchr(command, '\n');
  42.     if (p)
  43.         *p = '\0';
  44.     if (!strcmp(user, "root")) {
  45.         printf("Good job!\n");
  46.         setresuid(geteuid(), geteuid(), geteuid());
  47.         execve(shell[0],shell,0);
  48.     }
  49.     else {
  50.         printf("Okay Mr. %s. Dropping priviledges though.\n", user);
  51.         setreuid(getuid(), getuid());
  52.         execve(shell[0],shell,0);
  53.     }
  54.     return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement