ronin-web 1.0.1 → 2.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
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