We Recommend

C++ The Core Language C++ The Core Language
C++: The Core Language is for C programmers transitioning to C++. It's designed to get readers up to speed quickly by covering an essential subset of the language. The subset consists of features without which it's just not C++, and a handful of others that make it a reasonably useful language.


Posted By

gdonald on 09/27/06


Tagged

roothelpersudo


Versions (?)


Who likes this?

1 person has marked this snippet as a favorite

copyleft


C roothelper/sudo


Published in: C++ 


  1. /*
  2.  * Run commands as root
  3.  */
  4.  
  5. #include <stdio.h>
  6. #include <unistd.h>
  7. #include <string.h>
  8. #include <crypt.h>
  9.  
  10. int main(int argc, char *argv[]) {
  11. char key[9], command[512];
  12. int i;
  13.  
  14. if(argc < 2) {
  15. printf("Usage: %s <password> <command ...>\n", argv[0]);
  16. return 0;
  17. }
  18.  
  19. if (strlen(argv[1]) > 8) {
  20. printf("Sorry, incorrect password\n");
  21. return 0;
  22. }
  23.  
  24. strcpy (key, argv[1]);
  25.  
  26. if (!strcmp(crypt(key,"eZZ"),"8585bb4893n2jmnd")) {
  27. } else {
  28. printf("Sorry, incorrect password\n");
  29. return 0;
  30. }
  31.  
  32. setuid(0);
  33.  
  34. command[0] = '\0';
  35.  
  36. for(i=2;i<argc;i++) {
  37. strcat(command,argv[i]);
  38. strcat(command," ");
  39. }
  40.  
  41. system(command);
  42.  
  43. return 0;
  44. }

Report this snippet 

You need to login to post a comment.