From c15ff4e32eb8052aff1432f6f725094c2aeb788d Mon Sep 17 00:00:00 2001 From: erwanlr Date: Thu, 21 Mar 2019 11:31:04 +0000 Subject: [PATCH] Adds memprof binary - Ref #1321 --- .gitignore | 3 +++ bin/wpscan-memprof | 23 +++++++++++++++++++++++ wpscan.gemspec | 1 + 3 files changed, 27 insertions(+) create mode 100755 bin/wpscan-memprof diff --git a/.gitignore b/.gitignore index 9932d837..c0cf4aea 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,6 @@ doc/ # Old files from v2 cache/ data/ + +# Profiling reports +bin/memprof*.report diff --git a/bin/wpscan-memprof b/bin/wpscan-memprof new file mode 100755 index 00000000..b4c8ce9c --- /dev/null +++ b/bin/wpscan-memprof @@ -0,0 +1,23 @@ +#!/usr/bin/env ruby + +require 'memory_profiler' # https://github.com/SamSaffron/memory_profiler +require 'wpscan' + +report = MemoryProfiler.report(top: 10) do + # Couldn't we just load the ./wpscan here ? + # require_relative 'wpscan' doesn't work + WPScan::Scan.new do |s| + s.controllers << + WPScan::Controller::CustomDirectories.new << + WPScan::Controller::InterestingFindings.new << + WPScan::Controller::WpVersion.new << + WPScan::Controller::MainTheme.new << + WPScan::Controller::Enumeration.new << + WPScan::Controller::PasswordAttack.new << + WPScan::Controller::Aliases.new + + s.run + end +end + +report.pretty_print(scale_bytes: true, detailed_report: true, to_file: 'memprof.report') diff --git a/wpscan.gemspec b/wpscan.gemspec index c137d7fd..505edec3 100644 --- a/wpscan.gemspec +++ b/wpscan.gemspec @@ -25,6 +25,7 @@ Gem::Specification.new do |s| s.add_development_dependency 'bundler', '>= 1.6' s.add_development_dependency 'coveralls', '~> 0.8.0' + s.add_development_dependency 'memory_profiler', '~> 0.9.12' s.add_development_dependency 'rake', '~> 12.3' s.add_development_dependency 'rspec', '~> 3.8.0' s.add_development_dependency 'rspec-its', '~> 1.2.0'