Improves detection of wp-content folder
This commit is contained in:
5
spec/fixtures/target/platform/wordpress/custom_directories/in_meta_content.html
vendored
Normal file
5
spec/fixtures/target/platform/wordpress/custom_directories/in_meta_content.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<link rel="canonical" href="https://ex.lo/" />
|
||||
|
||||
<meta property="og:site_name" content="WP Lab" />
|
||||
<meta property="og:image" content="http://ex.lo/wp-content/uploads/logo.png" />
|
||||
<meta property="og:image:secure_url" content="https:/ex.lo/wp-content/uploads/logo.png" />
|
||||
5
spec/fixtures/target/platform/wordpress/custom_directories/scope.html
vendored
Normal file
5
spec/fixtures/target/platform/wordpress/custom_directories/scope.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<link rel="canonical" href="https://ex.lo/" />
|
||||
|
||||
<link rel='stylesheet' href='https://aaa.cloudfront.net/wp-content/plugins/crayon-syntax-highlighter/css/min/crayon.min.css' type='text/css' media='all' />
|
||||
|
||||
<link rel='stylesheet' href='https://aaa.cloudfront.net/wp-includes/css/dist/block-library/style.min.css' type='text/css' media='all' />
|
||||
5
spec/fixtures/target/platform/wordpress/custom_directories/scope_meta_content.html
vendored
Normal file
5
spec/fixtures/target/platform/wordpress/custom_directories/scope_meta_content.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<link rel="canonical" href="https://ex.lo/" />
|
||||
|
||||
<meta property="og:site_name" content="WP Lab" />
|
||||
<meta property="og:image" content="https://aaa.cloudfront.net/wp-content/uploads/logo.png" />
|
||||
<meta property="og:image:secure_url" content="https://aaa.cloudfront.net/wp-content/uploads/logo.png" />
|
||||
@@ -1,8 +1,9 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
describe WPScan::Target do
|
||||
subject(:target) { described_class.new(url) }
|
||||
subject(:target) { described_class.new(url, opts) }
|
||||
let(:url) { 'http://ex.lo' }
|
||||
let(:opts) { {} }
|
||||
|
||||
it_behaves_like WPScan::Target::Platform::WordPress
|
||||
|
||||
|
||||
@@ -7,7 +7,8 @@ shared_examples 'WordPress::CustomDirectories' do
|
||||
{
|
||||
default: 'wp-content', https: 'wp-content', custom_w_spaces: 'custom content spaces',
|
||||
relative_one: 'wp-content', relative_two: 'wp-content', cache: 'wp-content',
|
||||
in_raw_js: 'wp-content', with_sub_dir: 'app', relative_two_sub_dir: 'cms/wp-content'
|
||||
in_raw_js: 'wp-content', with_sub_dir: 'app', relative_two_sub_dir: 'cms/wp-content',
|
||||
in_meta_content: 'wp-content'
|
||||
}.each do |file, expected|
|
||||
it "returns #{expected} for #{file}.html" do
|
||||
stub_request(:get, target.url).to_return(body: File.read(fixtures.join("#{file}.html")))
|
||||
@@ -16,6 +17,20 @@ shared_examples 'WordPress::CustomDirectories' do
|
||||
end
|
||||
end
|
||||
|
||||
context 'when scope given' do
|
||||
let(:opts) { super().merge(scope: ['*.cloudfront.net']) }
|
||||
|
||||
{
|
||||
scope: 'wp-content', scope_meta_content: 'wp-content'
|
||||
}.each do |file, expected|
|
||||
it "returns #{expected} for #{file}.html" do
|
||||
stub_request(:get, target.url).to_return(body: File.read(fixtures.join("#{file}.html")))
|
||||
|
||||
expect(target.content_dir).to eql expected
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when not found via the homepage' do
|
||||
before { stub_request(:get, target.url).to_return(body: '') }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user