lib/whatweb/plugins/apache-tomcat.rb in simple_whatweb-0.1.0 vs lib/whatweb/plugins/apache-tomcat.rb in simple_whatweb-0.2.0
- old
+ new
@@ -37,42 +37,32 @@
{ name: "Tomcat admin /manager/status", url: "/manager/status", text: "tomcat" },
{ name: "Footer", version: /Apache Tomcat\/([0-9\.]+)<\/h3><\/body><\/html>/ }
]
- def random_string(length = 32)
- # should probably be moved somewhere else to be used in other plugins
- (1..length).map{ |_i| ('a'..'z').to_a[rand(26)] }.join
- end
-
##
# get a random page to check for default 404 tomcat page
##
def version_from_404(target)
- new_url = "http://#{target.uri.host}:#{target.uri.port}/#{random_string}"
+ new_url = "#{target.uri.scheme}://#{target.uri.host}:#{target.uri.port}/#{randstr}"
info = []
- begin
- new_target = WhatWeb::Target.new(new_url)
-
- if new_target.status == 404
- v = new_target.body.scan(/Apache Tomcat\/([456]\.\d+\.\d+)/)[0]
- unless v.nil?
- info << { name: "Tomcat version", certainty: 100, version: v }
- end
+ new_target = WhatWeb::Target.new(new_url)
+ if new_target.status == 404
+ v = new_target.body.scan(/Apache Tomcat\/([456]\.\d+\.\d+)/)[0]
+ unless v.nil?
+ info << { name: "Tomcat version", certainty: 100, version: v }
end
- rescue StandardError => _
- # do nothing
end
info
end
def aggressive(target)
- info = version_from_404(target)
-
- if info.empty?
+ begin
+ info = version_from_404(target)
+ rescue StandardError => e
+ p e
[]
- else
- info
- end
+ end
+ info
# TODO version can also be retrieve from 500 error page
end
end