ronin-web 1.0.1 → 2.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +3 -2
  3. data/.gitignore +1 -0
  4. data/.rubocop.yml +5 -0
  5. data/ChangeLog.md +46 -1
  6. data/Gemfile +25 -12
  7. data/README.md +486 -39
  8. data/Rakefile +9 -0
  9. data/data/completions/ronin-web +203 -0
  10. data/gemspec.yml +18 -5
  11. data/lib/ronin/web/cli/browser_options.rb +92 -0
  12. data/lib/ronin/web/cli/browser_shell.rb +448 -0
  13. data/lib/ronin/web/cli/command.rb +1 -1
  14. data/lib/ronin/web/cli/commands/browser.rb +373 -0
  15. data/lib/ronin/web/cli/commands/completion.rb +63 -0
  16. data/lib/ronin/web/cli/commands/diff.rb +60 -8
  17. data/lib/ronin/web/cli/commands/html.rb +21 -33
  18. data/lib/ronin/web/cli/commands/irb.rb +1 -1
  19. data/lib/ronin/web/cli/commands/new/{webapp.rb → app.rb} +8 -8
  20. data/lib/ronin/web/cli/commands/new/nokogiri.rb +4 -4
  21. data/lib/ronin/web/cli/commands/new/server.rb +1 -1
  22. data/lib/ronin/web/cli/commands/new/spider.rb +1 -1
  23. data/lib/ronin/web/cli/commands/new.rb +5 -3
  24. data/lib/ronin/web/cli/commands/reverse_proxy.rb +1 -1
  25. data/lib/ronin/web/cli/commands/screenshot.rb +186 -0
  26. data/lib/ronin/web/cli/commands/server.rb +3 -3
  27. data/lib/ronin/web/cli/commands/session_cookie.rb +265 -0
  28. data/lib/ronin/web/cli/commands/spider.rb +60 -466
  29. data/lib/ronin/web/cli/commands/user_agent.rb +177 -0
  30. data/lib/ronin/web/cli/commands/vulns.rb +463 -0
  31. data/lib/ronin/web/cli/commands/wordlist.rb +484 -0
  32. data/lib/ronin/web/cli/commands/xml.rb +149 -0
  33. data/lib/ronin/web/cli/js_shell.rb +69 -0
  34. data/lib/ronin/web/cli/ruby_shell.rb +1 -1
  35. data/lib/ronin/web/cli/spider_options.rb +919 -0
  36. data/lib/ronin/web/cli.rb +3 -1
  37. data/lib/ronin/web/html.rb +1 -1
  38. data/lib/ronin/web/root.rb +1 -1
  39. data/lib/ronin/web/version.rb +2 -2
  40. data/lib/ronin/web/xml.rb +1 -1
  41. data/lib/ronin/web.rb +4 -364
  42. data/man/ronin-web-browser.1 +92 -0
  43. data/man/ronin-web-browser.1.md +96 -0
  44. data/man/ronin-web-completion.1 +76 -0
  45. data/man/ronin-web-completion.1.md +78 -0
  46. data/man/ronin-web-diff.1 +14 -21
  47. data/man/ronin-web-diff.1.md +13 -6
  48. data/man/ronin-web-html.1 +30 -46
  49. data/man/ronin-web-html.1.md +27 -17
  50. data/man/ronin-web-irb.1 +9 -16
  51. data/man/ronin-web-irb.1.md +6 -2
  52. data/man/ronin-web-new-app.1.md +39 -0
  53. data/man/ronin-web-new-nokogiri.1 +9 -20
  54. data/man/ronin-web-new-nokogiri.1.md +5 -5
  55. data/man/ronin-web-new-server.1 +11 -23
  56. data/man/ronin-web-new-server.1.md +5 -5
  57. data/man/ronin-web-new-spider.1 +44 -88
  58. data/man/ronin-web-new-spider.1.md +37 -37
  59. data/man/ronin-web-new.1 +18 -30
  60. data/man/ronin-web-new.1.md +15 -11
  61. data/man/ronin-web-reverse-proxy.1 +33 -38
  62. data/man/ronin-web-reverse-proxy.1.md +20 -14
  63. data/man/ronin-web-screenshot.1 +56 -0
  64. data/man/ronin-web-screenshot.1.md +56 -0
  65. data/man/ronin-web-server.1 +15 -29
  66. data/man/ronin-web-server.1.md +13 -9
  67. data/man/ronin-web-session-cookie.1 +38 -0
  68. data/man/ronin-web-session-cookie.1.md +41 -0
  69. data/man/ronin-web-spider.1 +121 -130
  70. data/man/ronin-web-spider.1.md +115 -66
  71. data/man/ronin-web-user-agent.1 +44 -0
  72. data/man/ronin-web-user-agent.1.md +46 -0
  73. data/man/ronin-web-vulns.1 +175 -0
  74. data/man/ronin-web-vulns.1.md +177 -0
  75. data/man/ronin-web-wordlist.1 +258 -0
  76. data/man/ronin-web-wordlist.1.md +263 -0
  77. data/man/ronin-web-xml.1 +43 -0
  78. data/man/ronin-web-xml.1.md +46 -0
  79. data/man/ronin-web.1 +67 -18
  80. data/man/ronin-web.1.md +55 -4
  81. data/scripts/setup +58 -0
  82. metadata +122 -31
  83. data/lib/ronin/web/mechanize.rb +0 -82
  84. data/man/ronin-web-new-webapp.1.md +0 -39
  85. /data/data/new/{webapp → app}/.gitignore +0 -0
  86. /data/data/new/{webapp → app}/.ruby-version.erb +0 -0
  87. /data/data/new/{webapp → app}/Dockerfile.erb +0 -0
  88. /data/data/new/{webapp → app}/Gemfile +0 -0
  89. /data/data/new/{webapp → app}/app.rb.erb +0 -0
  90. /data/data/new/{webapp → app}/config.ru +0 -0
  91. /data/data/new/{webapp → app}/docker-compose.yml.erb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6b06c9dc8b62562796e3075d979eb732e3de726942e3a33998e0c19a74cbe9d8
4
- data.tar.gz: e3cb8dc314f28ca3f93184136a1d978d4b21233c3756b5fa9043ed7179fe7b4f
3
+ metadata.gz: 8bd87f5c3602ae1ece1f09ff4d689221c41e63b1302f9edf58576a3aec06108e
4
+ data.tar.gz: 5fa836bd013ea5b74a4b79fbda0fc4dd84ac09d9abafea689aba504c3decb32e
5
5
  SHA512:
6
- metadata.gz: 2c993ca1329a69b7bff73b6f7b52f111d65362fc539205b236f62d1a9211d996c9564efaf6f86c2ae157e346c5c740249b70cc00ac1603e2389137204044f214
7
- data.tar.gz: 7fb586226ee4c84048a0ebae55097f86514a83bea52825a4f88237464bb56af31c56849a9bd72ec1ca2f0ea705b06e72b96443fb2666fa022bb3eebec31da170
6
+ metadata.gz: b56e783acb097f2c43f7c144f5bb5225a060b48000b458ba098280a8bd690d0831141ead1c00d3cafba1922428022d36643bba780c483400c27ac3d05af3ce65
7
+ data.tar.gz: c78a468778822cbe8dfc0d3efa845d08471e1440fecfa849784b54bd8719bb4c8abca4568213df8de961acfafa85beb33f13dc853a1480dfafc3f37127a308b2
@@ -12,11 +12,12 @@ jobs:
12
12
  - '3.0'
13
13
  - '3.1'
14
14
  - '3.2'
15
+ - '3.3'
15
16
  # - jruby
16
17
  - truffleruby
17
18
  name: Ruby ${{ matrix.ruby }}
18
19
  steps:
19
- - uses: actions/checkout@v2
20
+ - uses: actions/checkout@v4
20
21
  - name: Set up Ruby
21
22
  uses: ruby/setup-ruby@v1
22
23
  with:
@@ -31,7 +32,7 @@ jobs:
31
32
  rubocop:
32
33
  runs-on: ubuntu-latest
33
34
  steps:
34
- - uses: actions/checkout@v2
35
+ - uses: actions/checkout@v4
35
36
  - name: Set up Ruby
36
37
  uses: ruby/setup-ruby@v1
37
38
  with:
data/.gitignore CHANGED
@@ -1,4 +1,5 @@
1
1
  /coverage
2
+ /data/completions/ronin-web
2
3
  /doc
3
4
  /pkg
4
5
  /man/*.[1-9]
data/.rubocop.yml CHANGED
@@ -18,3 +18,8 @@ Lint/ShadowingOuterLocalVariable:
18
18
  Exclude:
19
19
  - 'lib/ronin/web/cli/commands/reverse_proxy.rb'
20
20
  - 'lib/ronin/web/cli/commands/spider.rb'
21
+
22
+ Naming/MethodParameterName:
23
+ Exclude:
24
+ - 'lib/ronin/web/cli/browser_shell.rb'
25
+ - 'lib/ronin/web/cli/js_shell.rb'
data/ChangeLog.md CHANGED
@@ -1,7 +1,47 @@
1
+ ### 2.0.0 / 2024-XX-XX
2
+
3
+ * Require [wordlist] ~> 1.0, >= 1.0.1.
4
+ * Require [ronin-support-web] ~> 0.1.
5
+ * Require [ronin-web-browser] ~> 0.1.
6
+ * Require [ronin-web-session_cookie] ~> 0.1.
7
+ * Require [ronin-web-spider] ~> 0.2.
8
+
9
+ #### CLI
10
+
11
+ * Added the `ronin-web xml` command.
12
+ * Added the `ronin-web session-cookie` command.
13
+ * Added the `ronin-web user-agent` command.
14
+ * Added the `ronin-web wordlist` command.
15
+ * Added the `ronin-web browser` command.
16
+ * Added the `ronin-web screenshot` command.
17
+ * Added the `ronin-web vulns` command.
18
+ * Added the `ronin-web completion` command to install shell completion files
19
+ for all `ronin-web` commands for Bash and Zsh shells.
20
+ * Added the `--format=html|xml` option to the `ronin-web diff` command.
21
+ * Added the `-t,--text` option to `ronin-web html`.
22
+ * Added the `--print-js-url-strings` option to the `ronin-web spider` command.
23
+ * Added the `--print-js-path-strings` option to the `ronin-web spider` command.
24
+ * Added the `--print-js-relative-path-strings` option to the `ronin-web spider`
25
+ command.
26
+ * Added the `--print-js-absolute-path-strings` option to the `ronin-web spider`
27
+ command.
28
+ * Added ANSI colored output to the `ronin-web diff` command.
29
+ * Renamed `ronin-web new webapp` to `ronin-web new app`.
30
+
31
+ ### 1.0.2 / 2023-04-04
32
+
33
+ * Improved documentation.
34
+
35
+ #### CLI
36
+
37
+ * Fixed a bug in `ronin-web server` where `App.host` was being called instead of
38
+ `App.bind`.
39
+ * Fixed a typo in the `ronin-web spider --print-status` option.
40
+
1
41
  ### 1.0.1 / 2023-03-01
2
42
 
3
43
  * Require `ronin-web-server` ~> 0.1, >= 0.1.1.
4
- * Disable SSL/TLS verification by default in {Ronin::Web::Mechanize}.
44
+ * Disable SSL/TLS verification by default in `Ronin::Web::Mechanize`.
5
45
 
6
46
  ### 1.0.0 / 2023-02-01
7
47
 
@@ -169,6 +209,11 @@
169
209
  [rack]: https://github.com/rack/rack
170
210
  [sinatra]: https://github.com/sinatra/sinatra
171
211
  [data_paths]: https://github.com/postmodern/data_paths
212
+ [wordlist]: https://github.com/postmodern/wordlist.rb#readme
172
213
  [ronin-support]: https://github.com/ronin-rb/ronin-support
214
+ [ronin-support-web]: https://github.com/ronin-rb/ronin-support-web#readme
215
+ [ronin-web-browser]: https://github.com/ronin-rb/ronin-web-browser#readme
216
+ [ronin-web-session_cookie]: https://github.com/ronin-rb/ronin-web-session_cookie#readme
217
+ [ronin-web-spider]: https://github.com/ronin-rb/ronin-web-spider#readme
173
218
  [ronin]: https://github.com/ronin-rb/ronin
174
219
  [ronin-scanners]: https://github.com/ronin-rb/ronin-scanners
data/Gemfile CHANGED
@@ -4,11 +4,6 @@ source 'https://rubygems.org'
4
4
 
5
5
  gemspec
6
6
 
7
- if RUBY_VERSION >= '3.0'
8
- # XXX: dep in webrick for mechanize for Ruby 3.0
9
- gem 'webrick', platform: :ruby
10
- end
11
-
12
7
  platforms :jruby do
13
8
  gem 'jruby-openssl', '~> 0.7'
14
9
  end
@@ -21,18 +16,33 @@ end
21
16
  # gem 'command_kit', '~> 0.4', github: 'postmodern/command_kit.rb',
22
17
  # branch: '0.4.0'
23
18
 
24
- # gem 'spidr', '~> 0.7', github: 'postmodern/spidr'
19
+ # gem 'spidr', '~> 0.7', github: 'postmodern/spidr'
20
+ # gem 'wordlist', '~> 1.0', github: 'postmodern/wordlist.rb'
25
21
 
26
22
  # Ronin dependencies
27
- # gem 'ronin-support', '~> 1.0', github: "ronin-rb/ronin-support",
28
- # branch: 'main'
23
+ # gem 'ronin-support', '~> 1.1', github: "ronin-rb/ronin-support",
24
+ # branch: 'main'
25
+ # gem 'ronin-support-web', '~> 0.1', github: "ronin-rb/ronin-support-web",
26
+ # branch: 'main'
27
+ # gem 'ronin-core', '~> 0.2', github: "ronin-rb/ronin-core",
28
+ # branch: 'main'
29
+
30
+ # gem 'ferrum', github: 'rubycdp/ferrum'
31
+ # gem 'ronin-web-browser', '~> 0.1', github: 'ronin-rb/ronin-web-browser'
29
32
  # gem 'ronin-web-server', '~> 0.1', github: "ronin-rb/ronin-web-server",
30
33
  # branch: 'main'
31
- # gem 'ronin-web-spider', '~> 0.1', github: "ronin-rb/ronin-web-spider",
34
+ # gem 'ronin-web-spider', '~> 0.2', github: 'ronin-rb/ronin-web-spider',
32
35
  # branch: 'main'
33
- # gem 'ronin-web-user_agents', '~> 0.1', github: "ronin-rb/ronin-web-user_agents",
36
+ # gem 'ronin-web-user_agents', '~> 0.1', github: 'ronin-rb/ronin-web-user_agents',
34
37
  # branch: 'main'
35
- # gem 'ronin-core', '~> 0.1', github: "ronin-rb/ronin-core",
38
+ # gem 'ronin-web-session_cookie', '~> 0.1', github: 'ronin-rb/ronin-web-session_cookie',
39
+ # branch: 'main'
40
+
41
+ # gem 'ronin-db', '~> 0.2', github: 'ronin-rb/ronin-db',
42
+ # branch: 'main'
43
+ # gem 'ronin-db-activerecord', '~> 0.2', github: 'ronin-rb/ronin-db-activerecord',
44
+ # branch: 'main'
45
+ # gem 'ronin-vulns', '~> 0.2', github: 'ronin-rb/ronin-vulns',
36
46
  # branch: 'main'
37
47
 
38
48
  group :development do
@@ -42,17 +52,20 @@ group :development do
42
52
  gem 'rspec', '~> 3.0'
43
53
  gem 'simplecov', '~> 0.20'
44
54
  gem 'rack-test', '~> 0.6'
55
+ gem 'webmock', '~> 3.0'
45
56
 
46
57
  gem 'kramdown', '~> 2.0'
47
58
  gem 'redcarpet', platform: :mri
48
59
  gem 'yard', '~> 0.9'
49
60
  gem 'yard-spellcheck', require: false
50
61
 
51
- gem 'kramdown-man', '~> 0.1'
62
+ gem 'kramdown-man', '~> 1.0'
52
63
 
53
64
  gem 'dead_end', require: false
54
65
  gem 'sord', require: false, platform: :mri
55
66
  gem 'stackprof', require: false, platform: :mri
56
67
  gem 'rubocop', require: false, platform: :mri
57
68
  gem 'rubocop-ronin', require: false, platform: :mri
69
+
70
+ gem 'command_kit-completion', '~> 0.2', require: false
58
71
  end