Adam Cammack
ef264e78f0
Refactor grep command to use optparse
...
This is an experiment to see what it would take to convert *all* option
assignment, parsing, and validation to use Ruby's builtin optparse. Our
current situation in the command dispatchers is a mishmash of bespoke
and Rex code, both with odd behaviors. Modules use a more formalized
system, but it is also a bit janky and unlike most other tools a
pentester might use.
The first step is to refactor the console commands to use Ruby's builtin
option parsing to reduce code and increase homogeneity among the various
functions. Next we plan to explore what it would take to invoke modules
from within Metasploit this way (this would be Metasploit 5+ only).
Refactoring `grep` seems to have been a success. There is now less code;
the code that declares and handles the options are now in the same
place; long options are now supported; adjacent, argument-less short
opts now work as expected; patterns can now begin with a `-`; and option
arguments are now validated. Additionally, optparse's argument
coercion/validation code can be extended for custom types/validations to
support more specialized commands.
2018-07-19 12:11:09 -05:00
Green-m
cfb3c4d3ad
Ignore case when use tab to complete
2018-06-01 07:37:23 -04:00
William Vu
6f1e75e097
Remove loopback restriction
...
It's occasionally useful, and we already warn when setting it.
2018-05-24 15:44:32 -05:00
William Vu
da3df23f03
Fix Socket#getifaddrs with ::
...
Rex::Socket#getifaddrs doesn't exist.
2018-05-24 14:53:41 -05:00
William Vu
65412cd2f1
Land #9201 , enhanced tab completion
2017-11-27 11:37:04 -06:00
Spencer McIntyre
bc691cbd00
Document the new tab completion functions
2017-11-11 17:17:48 -05:00
Spencer McIntyre
fb7635502d
Tab completion for exploit and handler commands
2017-11-11 17:11:54 -05:00
Spencer McIntyre
68a43fef36
Add the new generic tab completion functoin
2017-11-11 16:47:11 -05:00
William Vu
5de190f092
Land #9145 , ERB/<ruby> for Meterpreter resource
2017-11-01 13:48:51 -05:00
Brent Cook
90766ceceb
remove more unusual raise RuntimeError patterns
2017-11-01 05:59:12 -05:00
Spencer McIntyre
940573ad49
Support ruby directives in Meterpreter rc scripts
2017-10-29 15:57:33 -04:00
Tod Beardsley
1deacad2be
Add a print_bad alias for print_error
...
Came up on Twitter, where Justin may have been trolling a little:
https://twitter.com/jstnkndy/status/798671298302017536
We have a `print_good` method, but not a `print_bad`, which seems a
little weird for Ruby -- opposite methods should be intuitive as Justin
is implying.
Anyway, I went with alias_method, thanks to the compelling argument at
https://github.com/bbatsov/ruby-style-guide#alias-method
...since Metasploit is all about the singleton, and didn't want to risk
some unexpected scoping thing.
Also dang, we define the `print_` methods like fifty billion times!
Really should fix that some day.
2016-11-15 19:20:42 -06:00
David Maloney
4e678e4ce6
fix help table
...
there was a bad class refernece here that
needed to be cleaned up
MS-1875
2016-08-12 13:33:41 -05:00
Alex Watt
6e684d46f2
Ensure exceptions don't interfere with `busy`
2015-08-10 12:11:37 -04:00
sinn3r
d45cdd61aa
Resolve #4507 - respond_to? + send = evil
...
Since Ruby 2.1, the respond_to? method is more strict because it does
not check protected methods. So when you use send(), clearly you're
ignoring this type of access control. The patch is meant to preserve
this behavior to avoid potential breakage.
Resolve #4507
2015-01-02 13:29:17 -06:00
Tab Assassin
7e5e0f7fc8
Retab lib
2013-08-30 16:28:33 -05:00
kernelsmith
3210c5382e
undo vestiges of attempt to add tab_complete nesting
...
return code to original state before I started editing
2013-01-16 00:49:54 -06:00
kernelsmith
3c44769bd8
attempt to add nested tab completion
2013-01-14 14:15:13 -06:00
sinn3r
d36f642edc
Add print_warning()
2012-10-12 21:48:15 -05:00
HD Moore
d656e3185f
Mark all libraries as defaulting to 8-bit strings
2012-06-29 00:18:28 -05:00
Tod Beardsley
bffb3571c2
Adding URL ref for db_autopwn deprecation message
2012-06-14 09:53:59 -05:00
James Lee
2683bb0ba7
Add deprecation warnings for old commands
...
This should hopefully cut down a bit on support requests from people
asking about old commands they read about in _Metasploit: The
Penetration Tester's Guide_
2012-06-14 09:44:38 -05:00
James Lee
7c85a2796a
Whitespace cleanup
2012-05-24 17:10:26 -06:00
James Lee
3c7f25ff78
help help
...
git-svn-id: file:///home/svn/framework3/trunk@13579 4d416f70-5f16-0410-b530-b9f4589650da
2011-08-18 20:29:49 +00:00
David Rude
1902b92878
Merge custom prompt code
...
git-svn-id: file:///home/svn/framework3/trunk@13272 4d416f70-5f16-0410-b530-b9f4589650da
2011-07-21 06:14:25 +00:00
James Lee
ad12dffe29
move help_to_s down into CommandDispatcher so each dispatcher will know how to print its own help. see #564
...
git-svn-id: file:///home/svn/framework3/trunk@12640 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-16 23:03:31 +00:00
James Lee
e94d39af2c
un-ghetto meterpreter output logging
...
git-svn-id: file:///home/svn/framework3/trunk@11750 4d416f70-5f16-0410-b530-b9f4589650da
2011-02-15 05:45:01 +00:00
James Lee
648214cad2
make help work the same in meterpreter as main console
...
git-svn-id: file:///home/svn/framework3/trunk@11690 4d416f70-5f16-0410-b530-b9f4589650da
2011-02-01 01:20:55 +00:00
James Lee
a7b5e831f7
clean up how help works, pull cmd_reload up so all module types can use it
...
git-svn-id: file:///home/svn/framework3/trunk@11658 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-28 03:29:20 +00:00
James Lee
0158cd28f1
tab complete local filenames for upload command
...
git-svn-id: file:///home/svn/framework3/trunk@11575 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-13 20:22:13 +00:00
James Lee
ef883859f1
jduck is right, this isn't necessary since non-matches get removed for us later. if this does indeed make it easier to make modules tab like files later, we can add it back in.
...
git-svn-id: file:///home/svn/framework3/trunk@11572 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-13 16:34:09 +00:00
James Lee
0355271662
fix a <1.9.2 compat bug. =(
...
git-svn-id: file:///home/svn/framework3/trunk@11569 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-13 00:17:07 +00:00
James Lee
7226a43bea
move tab completion helpers up to ShellDispatcher to avoid copy-paste and allow non-msf shells to complete filenames
...
git-svn-id: file:///home/svn/framework3/trunk@11562 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-12 22:09:32 +00:00
James Lee
6d788a9437
add print_good methods to rex input shells, fixes #1703
...
git-svn-id: file:///home/svn/framework3/trunk@9103 4d416f70-5f16-0410-b530-b9f4589650da
2010-04-19 22:09:55 +00:00
James Lee
a9b1462e9d
add a callback for session commands. fixes 618
...
git-svn-id: file:///home/svn/framework3/trunk@8075 4d416f70-5f16-0410-b530-b9f4589650da
2010-01-06 05:06:12 +00:00
James Lee
fd61df4e9e
add full support for persistent history, works in msfweb as well. fixes #523
...
git-svn-id: file:///home/svn/framework3/trunk@7621 4d416f70-5f16-0410-b530-b9f4589650da
2009-11-26 02:18:02 +00:00
James Lee
f8d84a7dc9
prevent loading the same dispatcher multiple times. fixes #560
...
git-svn-id: file:///home/svn/framework3/trunk@7587 4d416f70-5f16-0410-b530-b9f4589650da
2009-11-24 01:07:19 +00:00
James Lee
2cbb32550c
fix meterp sessions getting initialized improperly, fix msf> prompt in exploit context after color cmd
...
git-svn-id: file:///home/svn/framework3/trunk@7449 4d416f70-5f16-0410-b530-b9f4589650da
2009-11-10 16:10:39 +00:00
James Lee
fd4e4154cd
add a new 'color' command that lets the user force color on or off.
...
git-svn-id: file:///home/svn/framework3/trunk@7442 4d416f70-5f16-0410-b530-b9f4589650da
2009-11-10 06:58:01 +00:00
James Lee
a8d9da0d3d
initial color support. will add ability to change colors from console soon. see #344
...
git-svn-id: file:///home/svn/framework3/trunk@7440 4d416f70-5f16-0410-b530-b9f4589650da
2009-11-10 03:27:48 +00:00
HD Moore
e3f68f2639
Another large number of warnings fixed by Yoann Guillot
...
git-svn-id: file:///home/svn/framework3/trunk@7248 4d416f70-5f16-0410-b530-b9f4589650da
2009-10-25 17:18:23 +00:00
James Lee
96c8f6127c
Replace += with << for Strings in a bunch of places.
...
git-svn-id: file:///home/svn/framework3/trunk@6318 4d416f70-5f16-0410-b530-b9f4589650da
2009-03-08 07:55:47 +00:00
kris
08745cc6fd
several typos
...
git-svn-id: file:///home/svn/framework3/trunk@6240 4d416f70-5f16-0410-b530-b9f4589650da
2009-02-21 19:22:06 +00:00
Ramon de C Valle
f124597a56
Code cleanups
...
git-svn-id: file:///home/svn/framework3/trunk@5773 4d416f70-5f16-0410-b530-b9f4589650da
2008-10-19 21:03:39 +00:00
HD Moore
8c844f96b0
Fixes #60 . Adds a new block_command() method to the console, which allows a UI to disable certain commands at runtime.
...
git-svn-id: file:///home/svn/framework3/trunk@5109 4d416f70-5f16-0410-b530-b9f4589650da
2007-09-22 20:20:10 +00:00
HD Moore
80c4bcd5ab
Session detach support, closer to clean hand-off between session -d / session -i. Make autovnc look for both vncviewer and vncviewer.exe
...
git-svn-id: file:///home/svn/framework3/trunk@4424 4d416f70-5f16-0410-b530-b9f4589650da
2007-02-18 04:25:46 +00:00
Matt Miller
1583f4e276
fix to not attempt to output text if there is no output handle
...
git-svn-id: file:///home/svn/framework3/trunk@3848 4d416f70-5f16-0410-b530-b9f4589650da
2006-08-29 00:48:33 +00:00
HD Moore
bdfd2c5152
Recon modules and the recon event subsystem have been temporarily removed.
...
The 'auxiliary' system is designed to replace it and recon features will
slowly be moved back into the framework
git-svn-id: file:///home/svn/incoming/trunk@3438 4d416f70-5f16-0410-b530-b9f4589650da
2006-01-24 03:59:44 +00:00
HD Moore
93c3178732
No so worky
...
git-svn-id: file:///home/svn/incoming/trunk@3257 4d416f70-5f16-0410-b530-b9f4589650da
2005-12-27 03:07:46 +00:00
HD Moore
412629e5c3
Stuff.. more changes to come
...
git-svn-id: file:///home/svn/incoming/trunk@3253 4d416f70-5f16-0410-b530-b9f4589650da
2005-12-25 22:47:38 +00:00