Module: CMSScanner::Target::Server::IIS
- Defined in:
- lib/cms_scanner/target/server/iis.rb
Overview
Some IIS specific implementation
Instance Method Summary collapse
-
#directory_listing?(path = nil, params = {}) ⇒ Boolean
True if url(path) has the directory listing enabled, false otherwise.
-
#directory_listing_entries(path = nil, params = {}) ⇒ Array<String>
The first level of directories/files listed, or an empty array if none.
-
#server(_path = nil, _params = {}) ⇒ Symbol
:iis.
Instance Method Details
#directory_listing?(path = nil, params = {}) ⇒ Boolean
Returns true if url(path) has the directory listing enabled, false otherwise.
19 20 21 22 23 |
# File 'lib/cms_scanner/target/server/iis.rb', line 19 def directory_listing?(path = nil, params = {}) res = NS::Browser.get(url(path), params) res.code == 200 && res.body =~ /<H1>#{uri.host} - \// ? true : false end |
#directory_listing_entries(path = nil, params = {}) ⇒ Array<String>
Returns The first level of directories/files listed, or an empty array if none.
30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/cms_scanner/target/server/iis.rb', line 30 def directory_listing_entries(path = nil, params = {}) return [] unless directory_listing?(path, params) found = [] NS::Browser.get(url(path), params).html.css('pre a').each do |node| entry = node.text.to_s next if entry == '[To Parent Directory]' found << entry end found end |
#server(_path = nil, _params = {}) ⇒ Symbol
Returns :iis.
10 11 12 |
# File 'lib/cms_scanner/target/server/iis.rb', line 10 def server(_path = nil, _params = {}) :IIS end |