Skip to content

Commit beffd1f

Browse files
committed
Auxiliary::Web::Analysis::Taint#taint_analysis: added a bit of differential logic to avoid false positives in case the default responce matches the pattern we're looking for [FIXRM rapid7#7559]
1 parent dafa984 commit beffd1f

File tree

1 file changed

+7
-3
lines changed
  • lib/msf/core/auxiliary/web/analysis

1 file changed

+7
-3
lines changed

lib/msf/core/auxiliary/web/analysis/taint.rb

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,14 @@ module Analysis::Taint
2020
# opts - Options Hash (default: {})
2121
#
2222
def taint_analysis( opts = {} )
23-
return if fuzzed? :type => :taint
24-
fuzzed :type => :taint
23+
return if fuzzed? :type => :taint
24+
fuzzed :type => :taint
2525

26-
fuzz_async do |response, permutation|
26+
# if we get a result without injecting anything then bail out to avoid
27+
# an FP
28+
return if fuzzer.find_proof( submit, self )
29+
30+
fuzz_async do |response, permutation|
2731
next if !response || !(proof = fuzzer.find_proof( response, permutation ))
2832
fuzzer.process_vulnerability( permutation, proof )
2933
end

0 commit comments

Comments
 (0)