Added hosted wordpress detection. See issue #343.
This commit is contained in:
@@ -56,6 +56,10 @@ class WpTarget < WebSite
|
|||||||
wordpress
|
wordpress
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def wordpress_hosted?
|
||||||
|
@uri.to_s =~ /\.wordpress\.com/i
|
||||||
|
end
|
||||||
|
|
||||||
def login_url
|
def login_url
|
||||||
url = @uri.merge('wp-login.php').to_s
|
url = @uri.merge('wp-login.php').to_s
|
||||||
|
|
||||||
|
|||||||
@@ -99,6 +99,23 @@ describe WpTarget do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe '#wordpress_hosted?' do
|
||||||
|
it 'returns true if target url is a wordpress.com subdomain' do
|
||||||
|
target = WpTarget.new('http://test.wordpress.com/')
|
||||||
|
target.wordpress_hosted?.should be_true
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'returns true if target url is a wordpress.com subdomain and has querystring' do
|
||||||
|
target = WpTarget.new('http://test.wordpress.com/path/file.php?a=b')
|
||||||
|
target.wordpress_hosted?.should be_true
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'returns false if target url is not a wordpress.com subdomain' do
|
||||||
|
target = WpTarget.new('http://test.example.com/')
|
||||||
|
target.wordpress_hosted?.should be_false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe '#redirection' do
|
describe '#redirection' do
|
||||||
it 'returns nil if no redirection detected' do
|
it 'returns nil if no redirection detected' do
|
||||||
stub_request(:get, wp_target.url).to_return(status: 200, body: '')
|
stub_request(:get, wp_target.url).to_return(status: 200, body: '')
|
||||||
|
|||||||
@@ -46,6 +46,10 @@ def main
|
|||||||
|
|
||||||
wp_target = WpTarget.new(wpscan_options.url, wpscan_options.to_h)
|
wp_target = WpTarget.new(wpscan_options.url, wpscan_options.to_h)
|
||||||
|
|
||||||
|
if wp_target.wordpress_hosted?
|
||||||
|
raise "The WordPress URL supplied '#{wp_target.uri}' seems to be hosted on wordpress.com This is not supported."
|
||||||
|
end
|
||||||
|
|
||||||
# Remote website up?
|
# Remote website up?
|
||||||
unless wp_target.online?
|
unless wp_target.online?
|
||||||
raise "The WordPress URL supplied '#{wp_target.uri}' seems to be down."
|
raise "The WordPress URL supplied '#{wp_target.uri}' seems to be down."
|
||||||
|
|||||||
Reference in New Issue
Block a user