File tree Expand file tree Collapse file tree 2 files changed +34
-4
lines changed Expand file tree Collapse file tree 2 files changed +34
-4
lines changed Original file line number Diff line number Diff line change @@ -57,10 +57,25 @@ def check_host(ip)
57
57
:name => self . name ,
58
58
:refs => self . references
59
59
)
60
- Exploit ::CheckCode ::Vulnerable
60
+ return Exploit ::CheckCode ::Vulnerable
61
+ elsif res && res . code == 500
62
+ injected_res_code = res . code
61
63
else
62
- Exploit ::CheckCode ::Safe
64
+ return Exploit ::CheckCode ::Safe
63
65
end
66
+
67
+ res = send_request_cgi ( {
68
+ 'method' => datastore [ 'METHOD' ] ,
69
+ 'uri' => normalize_uri ( target_uri . path . to_s )
70
+ } )
71
+
72
+ if res && injected_res_code == res . code
73
+ return Exploit ::CheckCode ::Unknown
74
+ elsif res && injected_res_code != res . code
75
+ return Exploit ::CheckCode ::Appears
76
+ end
77
+
78
+ Exploit ::CheckCode ::Unknown
64
79
end
65
80
66
81
def run_host ( ip )
Original file line number Diff line number Diff line change @@ -69,10 +69,25 @@ def check
69
69
res = req ( "echo #{ marker } " )
70
70
71
71
if res && res . body . include? ( marker * 3 )
72
- Exploit ::CheckCode ::Vulnerable
72
+ return Exploit ::CheckCode ::Vulnerable
73
+ elsif res && res . code == 500
74
+ injected_res_code = res . code
73
75
else
74
- Exploit ::CheckCode ::Safe
76
+ return Exploit ::CheckCode ::Safe
75
77
end
78
+
79
+ res = send_request_cgi ( {
80
+ 'method' => datastore [ 'METHOD' ] ,
81
+ 'uri' => normalize_uri ( target_uri . path . to_s )
82
+ } )
83
+
84
+ if res && injected_res_code == res . code
85
+ return Exploit ::CheckCode ::Unknown
86
+ elsif res && injected_res_code != res . code
87
+ return Exploit ::CheckCode ::Appears
88
+ end
89
+
90
+ Exploit ::CheckCode ::Unknown
76
91
end
77
92
78
93
def exploit
You can’t perform that action at this time.
0 commit comments