Module: PWN::Plugins::Sqlmap
- Defined in:
- lib/pwn/plugins/sqlmap.rb
Overview
sqlmap wrapper to pair with SAST SQL detection.
Class Method Summary collapse
Class Method Details
.authors ⇒ Object
25 26 27 |
# File 'lib/pwn/plugins/sqlmap.rb', line 25 public_class_method def self. "AUTHOR(S):\n 0day Inc. <[email protected]>\n" end |
.help ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/pwn/plugins/sqlmap.rb', line 29 public_class_method def self.help puts "USAGE: # List host binaries this module expects to be installed. #{self}.required_bins # Run run and return its result #{self}.run( url: 'required - HTTP(S) URL', level: 'optional - level value consumed by #run', data: 'optional - data value consumed by #run', dbs: 'optional - dbs value consumed by #run' ) # Print the AUTHOR(S) string for this module. #{self}.authors " constants.sort end |
.required_bins ⇒ Object
9 10 11 |
# File 'lib/pwn/plugins/sqlmap.rb', line 9 public_class_method def self.required_bins %w[sqlmap] end |
.run(opts = {}) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/pwn/plugins/sqlmap.rb', line 13 public_class_method def self.run(opts = {}) PWN::Plugins::PreflightChecker.require_bin!(name: 'sqlmap') url = opts[:url].to_s raise 'ERROR: url is required' if url.empty? cmd = ['sqlmap', '-u', url, '--batch', '--level', (opts[:level] || 1).to_s] cmd += ['--data', opts[:data].to_s] if opts[:data] cmd << '--dbs' if opts[:dbs] stdout, stderr, status = Open3.capture3(*cmd) { stdout: stdout, stderr: stderr, exit: status.exitstatus } end |