Skip to content

Commit 725a17c

Browse files
author
Brent Cook
committed
override default attr for OptRegexp
Rather than literally returning the default Regex object, override the accessor to return the string representation. This allows the RPC backend to properly serialize the options hash values, since msgpack does not know how to serialize a Regexp object. Fixes rapid7#3798. To verify the fix, run the steps for issue rapid7#3798 and ensure that the module options are returned instead of a backtrace. Also, ensure that the module continues to work as expected: ``` $ ./msfconsole -q msf > use auxiliary/scanner/http/scraper msf auxiliary(scraper) > info Name: HTTP Page Scraper Module: auxiliary/scanner/http/scraper License: Metasploit Framework License (BSD) Rank: Normal Provided by: et <[email protected]> Basic options: Name Current Setting Required Description ---- --------------- -------- ----------- PATH / yes The test path to the page to analize PATTERN (?i-mx:<title>(.*)<\/title>) yes The regex to use (default regex is a sample to grab page title) Proxies no Use a proxy chain RHOSTS yes The target address range or CIDR identifier RPORT 80 yes The target port THREADS 1 yes The number of concurrent threads VHOST no HTTP server virtual host override default attr for OptRegexp Description: Scrap defined data from a specific web page based on a regular expresion msf auxiliary(scraper) > set RHOSTS lwn.net RHOSTS => lwn.net msf auxiliary(scraper) > set RHOSTS 72.51.34.34 RHOSTS => 72.51.34.34 msf auxiliary(scraper) > set VHOST lwn.net VHOST => lwn.net msf auxiliary(scraper) > run [*] [72.51.34.34] / [Welcome to LWN.net [LWN.net]] [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed ```
1 parent 76627ec commit 725a17c

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

lib/msf/core/option_container.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -527,6 +527,10 @@ def normalize(value)
527527
return Regexp.compile(value)
528528
end
529529

530+
def default
531+
@default.to_s
532+
end
533+
530534
def display_value(value)
531535
if value.kind_of?(Regexp)
532536
return value.source

0 commit comments

Comments
 (0)