Add check for .sql backup files
This commit is contained in:
@@ -5,6 +5,7 @@ require 'web_site/interesting_headers'
|
|||||||
require 'web_site/robots_txt'
|
require 'web_site/robots_txt'
|
||||||
require 'web_site/security_txt'
|
require 'web_site/security_txt'
|
||||||
require 'web_site/sitemap'
|
require 'web_site/sitemap'
|
||||||
|
require 'web_site/sql_file_export'
|
||||||
|
|
||||||
class WebSite
|
class WebSite
|
||||||
include WebSite::HumansTxt
|
include WebSite::HumansTxt
|
||||||
@@ -12,6 +13,7 @@ class WebSite
|
|||||||
include WebSite::RobotsTxt
|
include WebSite::RobotsTxt
|
||||||
include WebSite::SecurityTxt
|
include WebSite::SecurityTxt
|
||||||
include WebSite::Sitemap
|
include WebSite::Sitemap
|
||||||
|
include WebSite::SqlFileExport
|
||||||
|
|
||||||
attr_reader :uri
|
attr_reader :uri
|
||||||
|
|
||||||
|
|||||||
32
lib/wpscan/web_site/sql_file_export.rb
Normal file
32
lib/wpscan/web_site/sql_file_export.rb
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# encoding: UTF-8
|
||||||
|
|
||||||
|
class WebSite
|
||||||
|
module SqlFileExport
|
||||||
|
|
||||||
|
# Checks if a .sql file exists
|
||||||
|
# @return [ Array ]
|
||||||
|
def sql_file_export
|
||||||
|
backup_files = []
|
||||||
|
|
||||||
|
self.sql_file_export_urls.each do |url|
|
||||||
|
response = Browser.get(url)
|
||||||
|
backup_files << url if response.code == 200 && response.body =~ /INSERT INTO/
|
||||||
|
end
|
||||||
|
|
||||||
|
backup_files
|
||||||
|
end
|
||||||
|
|
||||||
|
# Gets a .sql export file URL
|
||||||
|
# @return [ Array ]
|
||||||
|
def sql_file_export_urls
|
||||||
|
urls = []
|
||||||
|
files = ["#{@uri.host[/(^[\w|-]+)/,1]}.sql", 'backup.sql', 'database.sql', 'dump.sql']
|
||||||
|
|
||||||
|
files.each do |file|
|
||||||
|
urls << @uri.clone.merge(file).to_s
|
||||||
|
end
|
||||||
|
|
||||||
|
urls
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -255,6 +255,12 @@ def main
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
unless wp_target.sql_file_export.empty?
|
||||||
|
wp_target.sql_file_export.each do |file|
|
||||||
|
puts critical("SQL export file found: #{file}")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
code = get_http_status(wp_target.humans_url)
|
code = get_http_status(wp_target.humans_url)
|
||||||
if code == 200
|
if code == 200
|
||||||
puts info("humans.txt available under: #{wp_target.humans_url} [HTTP #{code}]")
|
puts info("humans.txt available under: #{wp_target.humans_url} [HTTP #{code}]")
|
||||||
|
|||||||
Reference in New Issue
Block a user