ronin-web 1.0.2 → 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.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +3 -2
- data/.gitignore +1 -0
- data/.rubocop.yml +5 -0
- data/ChangeLog.md +46 -1
- data/Gemfile +25 -12
- data/README.md +257 -51
- data/Rakefile +9 -0
- data/data/completions/ronin-web +203 -0
- data/gemspec.yml +18 -5
- data/lib/ronin/web/cli/browser_options.rb +92 -0
- data/lib/ronin/web/cli/browser_shell.rb +448 -0
- data/lib/ronin/web/cli/command.rb +1 -1
- data/lib/ronin/web/cli/commands/browser.rb +373 -0
- data/lib/ronin/web/cli/commands/completion.rb +63 -0
- data/lib/ronin/web/cli/commands/diff.rb +60 -8
- data/lib/ronin/web/cli/commands/html.rb +21 -33
- data/lib/ronin/web/cli/commands/irb.rb +1 -1
- data/lib/ronin/web/cli/commands/new/{webapp.rb → app.rb} +8 -8
- data/lib/ronin/web/cli/commands/new/nokogiri.rb +4 -4
- data/lib/ronin/web/cli/commands/new/server.rb +1 -1
- data/lib/ronin/web/cli/commands/new/spider.rb +1 -1
- data/lib/ronin/web/cli/commands/new.rb +5 -3
- data/lib/ronin/web/cli/commands/reverse_proxy.rb +1 -1
- data/lib/ronin/web/cli/commands/screenshot.rb +186 -0
- data/lib/ronin/web/cli/commands/server.rb +1 -1
- data/lib/ronin/web/cli/commands/session_cookie.rb +265 -0
- data/lib/ronin/web/cli/commands/spider.rb +61 -467
- data/lib/ronin/web/cli/commands/user_agent.rb +177 -0
- data/lib/ronin/web/cli/commands/vulns.rb +463 -0
- data/lib/ronin/web/cli/commands/wordlist.rb +484 -0
- data/lib/ronin/web/cli/commands/xml.rb +149 -0
- data/lib/ronin/web/cli/js_shell.rb +69 -0
- data/lib/ronin/web/cli/ruby_shell.rb +1 -1
- data/lib/ronin/web/cli/spider_options.rb +919 -0
- data/lib/ronin/web/cli.rb +3 -1
- data/lib/ronin/web/html.rb +1 -1
- data/lib/ronin/web/root.rb +1 -1
- data/lib/ronin/web/version.rb +2 -2
- data/lib/ronin/web/xml.rb +1 -1
- data/lib/ronin/web.rb +4 -364
- data/man/ronin-web-browser.1 +92 -0
- data/man/ronin-web-browser.1.md +96 -0
- data/man/ronin-web-completion.1 +76 -0
- data/man/ronin-web-completion.1.md +78 -0
- data/man/ronin-web-diff.1 +14 -21
- data/man/ronin-web-diff.1.md +13 -6
- data/man/ronin-web-html.1 +30 -46
- data/man/ronin-web-html.1.md +27 -17
- data/man/ronin-web-irb.1 +9 -16
- data/man/ronin-web-irb.1.md +6 -2
- data/man/ronin-web-new-app.1.md +39 -0
- data/man/ronin-web-new-nokogiri.1 +9 -20
- data/man/ronin-web-new-nokogiri.1.md +5 -5
- data/man/ronin-web-new-server.1 +11 -23
- data/man/ronin-web-new-server.1.md +5 -5
- data/man/ronin-web-new-spider.1 +44 -88
- data/man/ronin-web-new-spider.1.md +37 -37
- data/man/ronin-web-new.1 +18 -30
- data/man/ronin-web-new.1.md +15 -11
- data/man/ronin-web-reverse-proxy.1 +33 -38
- data/man/ronin-web-reverse-proxy.1.md +20 -14
- data/man/ronin-web-screenshot.1 +56 -0
- data/man/ronin-web-screenshot.1.md +56 -0
- data/man/ronin-web-server.1 +15 -29
- data/man/ronin-web-server.1.md +13 -9
- data/man/ronin-web-session-cookie.1 +38 -0
- data/man/ronin-web-session-cookie.1.md +41 -0
- data/man/ronin-web-spider.1 +121 -130
- data/man/ronin-web-spider.1.md +115 -66
- data/man/ronin-web-user-agent.1 +44 -0
- data/man/ronin-web-user-agent.1.md +46 -0
- data/man/ronin-web-vulns.1 +175 -0
- data/man/ronin-web-vulns.1.md +177 -0
- data/man/ronin-web-wordlist.1 +258 -0
- data/man/ronin-web-wordlist.1.md +263 -0
- data/man/ronin-web-xml.1 +43 -0
- data/man/ronin-web-xml.1.md +46 -0
- data/man/ronin-web.1 +67 -18
- data/man/ronin-web.1.md +55 -4
- data/scripts/setup +58 -0
- metadata +122 -31
- data/lib/ronin/web/mechanize.rb +0 -84
- data/man/ronin-web-new-webapp.1.md +0 -39
- /data/data/new/{webapp → app}/.gitignore +0 -0
- /data/data/new/{webapp → app}/.ruby-version.erb +0 -0
- /data/data/new/{webapp → app}/Dockerfile.erb +0 -0
- /data/data/new/{webapp → app}/Gemfile +0 -0
- /data/data/new/{webapp → app}/app.rb.erb +0 -0
- /data/data/new/{webapp → app}/config.ru +0 -0
- /data/data/new/{webapp → app}/docker-compose.yml.erb +0 -0
@@ -0,0 +1,263 @@
|
|
1
|
+
# ronin-web-spider 1 "2022-01-01" Ronin Web "User Manuals"
|
2
|
+
|
3
|
+
## NAME
|
4
|
+
|
5
|
+
ronin-web-wordlist - Builds a wordlist by spidering a website
|
6
|
+
|
7
|
+
## SYNOPSIS
|
8
|
+
|
9
|
+
`ronin-web wordlist` [*options*] {`--host` *HOST* \| `--domain` *DOMAIN* \| `--site` *URL*}
|
10
|
+
|
11
|
+
## DESCRIPTION
|
12
|
+
|
13
|
+
Builds a wordlist by spidering a website.
|
14
|
+
|
15
|
+
## OPTIONS
|
16
|
+
|
17
|
+
`-o`, `--output` *PATH*
|
18
|
+
: The wordlist file to write to.
|
19
|
+
|
20
|
+
`-X`, `--content-xpath` *XPATH*
|
21
|
+
: The XPath expression for where the content exists in each HTML page.
|
22
|
+
|
23
|
+
`-C`, `--content-css-path` *CSS-path*
|
24
|
+
: The CSS-path expression for where the content exists in each HTML page.
|
25
|
+
|
26
|
+
`--meta-tags`
|
27
|
+
: Parses `keywords` and `description` `<meta>` tags while spidering HTML pages.
|
28
|
+
This is enabled by default.
|
29
|
+
|
30
|
+
`--no-meta-tags`
|
31
|
+
: Ignore `<meta>` tags while spidering HTML pages.
|
32
|
+
|
33
|
+
`--comments`
|
34
|
+
: Parses HTML comments while spidering HTML pages.
|
35
|
+
This is enabled by default.
|
36
|
+
|
37
|
+
`--no-comments`
|
38
|
+
: Ignores HTML comments while spidering HTML pages.
|
39
|
+
|
40
|
+
`--alt-tags`
|
41
|
+
: Parses `alt=` attribute tags on `<img>`, `<area>`, and `<input>`.
|
42
|
+
|
43
|
+
`--no-alt-tags`
|
44
|
+
: Ignore `alt=` attribute tags while spidering HTML pages.
|
45
|
+
|
46
|
+
`--paths`
|
47
|
+
: Parses the directory names from all spidered URLs.
|
48
|
+
|
49
|
+
`--query-param-names`
|
50
|
+
: Parses the query param names from all spidered URLs.
|
51
|
+
|
52
|
+
`--query-param-values`
|
53
|
+
: Parses the query param values from all spidered URLs.
|
54
|
+
|
55
|
+
`--only-paths`
|
56
|
+
: Only parse the directory names from all spidered URLs.
|
57
|
+
|
58
|
+
`--only-query-param-names`
|
59
|
+
: Only parse the query param names from all spidered URLs.
|
60
|
+
|
61
|
+
`--query-param-values`
|
62
|
+
: Only parse the query param values from all spidered URLs.
|
63
|
+
|
64
|
+
`-f`, `--format` `txt`|`gz`|`bzip2`|`xz`
|
65
|
+
: Specifies the format of the wordlist file that will be created.
|
66
|
+
|
67
|
+
`-A`, `--append`
|
68
|
+
: Append new words to an existing wordlist file instead of overwriting the file.
|
69
|
+
|
70
|
+
### TEXT PARSING OPTIONS
|
71
|
+
|
72
|
+
`-L`, `--lang` *LANG*
|
73
|
+
: The language of the text to parse. Defaults to the current language set by the
|
74
|
+
`LANG` environment variable.
|
75
|
+
|
76
|
+
`--stop-word` *WORD*
|
77
|
+
: Defines a custom "stop word" (ex: "the", "is", "a") to be ignored.
|
78
|
+
If not specified, a default list of "stop words" will be selected based on
|
79
|
+
either `--lang` or the current language set by the `LANG` environment
|
80
|
+
variable.
|
81
|
+
|
82
|
+
`--ignore-word` *WORD*
|
83
|
+
: Adds the word to the list of words to ignore while parsing text.
|
84
|
+
|
85
|
+
`--digits`
|
86
|
+
: Accepts words contining digits (0-9) while parsing text. This is the default
|
87
|
+
behavior.
|
88
|
+
|
89
|
+
`--no-digits`
|
90
|
+
: Ignores words containing digits (0-9) while parsing text.
|
91
|
+
|
92
|
+
`--special-char` *CHAR*
|
93
|
+
: Allows a specific special character to exist within words. If not specified,
|
94
|
+
only the characters `_`, `-`, `'` are allowed by default.
|
95
|
+
|
96
|
+
`--numbers`
|
97
|
+
: Accepts whole numbers as words while parsing text.
|
98
|
+
|
99
|
+
`--no-numbers`
|
100
|
+
: Ignores whole numbers while parsing text. This is the default behavior.
|
101
|
+
|
102
|
+
`--acronyms`
|
103
|
+
: Treat acronyms (ex: `A.B.C.`) as words while parsing text.
|
104
|
+
This is the default behavior.
|
105
|
+
|
106
|
+
`--no-acronyms`
|
107
|
+
: Ignores acronyms (ex: `A.B.C.`) while parsing text.
|
108
|
+
|
109
|
+
`--normalize-case`
|
110
|
+
: Converts all words to lowercase while parsing text.
|
111
|
+
|
112
|
+
`--no-normalize-case`
|
113
|
+
: Preserves the case of words letters while parsing text. This is the default
|
114
|
+
behavior. This is the default behavior.
|
115
|
+
|
116
|
+
`--normalize-apostrophes`
|
117
|
+
: Removes apostrophes from words (ex: `It's` -> `Its`) while parsing text.
|
118
|
+
|
119
|
+
`--no-normalize-apostrophes`
|
120
|
+
: Preserves apostrophes in words (ex: `It's`). This is the default behavior.
|
121
|
+
This is the default behavior.
|
122
|
+
|
123
|
+
`--normalize-acronyms`
|
124
|
+
: Removes the periods from acronyms (ex: `A.B.C.` -> `ABC`) while parsing text.
|
125
|
+
|
126
|
+
`--no-normalize-acronyms`
|
127
|
+
: Preserves the periods in acronyms (ex: `A.B.C.`) while parsing text.
|
128
|
+
This is the default behavior.
|
129
|
+
|
130
|
+
`-h`, `--help`
|
131
|
+
: Print help information.
|
132
|
+
|
133
|
+
### SPIDER OPTIONS
|
134
|
+
|
135
|
+
`--open-timeout` *SECS*
|
136
|
+
: Sets the connection open timeout.
|
137
|
+
|
138
|
+
`--read-timeout` *SECS*
|
139
|
+
: Sets the read timeout.
|
140
|
+
|
141
|
+
`--ssl-timeout` *SECS*
|
142
|
+
: Sets the SSL connection timeout.
|
143
|
+
|
144
|
+
`--continue-timeout` *SECS*
|
145
|
+
: Sets the continue timeout.
|
146
|
+
|
147
|
+
`--keep-alive-timeout` *SECS*
|
148
|
+
: Sets the connection keep alive timeout.
|
149
|
+
|
150
|
+
`-P`, `--proxy` *PROXY*
|
151
|
+
: Sets the proxy to use.
|
152
|
+
|
153
|
+
`-H`, `--header` "*NAME*`:` *VALUE*"
|
154
|
+
: Sets a default header.
|
155
|
+
|
156
|
+
`--host-header` *NAME*=*VALUE*
|
157
|
+
: Sets a default header.
|
158
|
+
|
159
|
+
`-u`, `--user-agent` `chrome-linux`|`chrome-macos`|`chrome-windows`|`chrome-iphone`|`chrome-ipad`|`chrome-android`|`firefox-linux`|`firefox-macos`|`firefox-windows`|`firefox-iphone`|`firefox-ipad`|`firefox-android`|`safari-macos`|`safari-iphone`|`safari-ipad`|`edge`
|
160
|
+
: The `User-Agent` to use.
|
161
|
+
|
162
|
+
`-U`, `--user-agent-string` *STRING*
|
163
|
+
: The raw `User-Agent` string to use.
|
164
|
+
|
165
|
+
`-R`, `--referer` *URL*
|
166
|
+
: Sets the `Referer` URL.
|
167
|
+
|
168
|
+
`--delay` *SECS*
|
169
|
+
: Sets the delay in seconds between each request.
|
170
|
+
|
171
|
+
`-l`, `--limit` *COUNT*
|
172
|
+
: Only spiders up to *COUNT* pages.
|
173
|
+
|
174
|
+
`-d`, `--max-depth` *DEPTH*
|
175
|
+
: Only spiders up to max depth.
|
176
|
+
|
177
|
+
`--enqueue` *URL*
|
178
|
+
: Adds the URL to the queue.
|
179
|
+
|
180
|
+
`--visited` *URL*
|
181
|
+
: Marks the URL as previously visited.
|
182
|
+
|
183
|
+
`--strip-fragments`
|
184
|
+
: Enables/disables stripping the fragment component of every URL.
|
185
|
+
|
186
|
+
`--strip-query`
|
187
|
+
: Enables/disables stripping the query component of every URL.
|
188
|
+
|
189
|
+
`--visit-host` *HOST*
|
190
|
+
: Visit URLs with the matching host name.
|
191
|
+
|
192
|
+
`--visit-hosts-like` `/`*REGEX*`/`
|
193
|
+
: Visit URLs with hostnames that match the *REGEX*.
|
194
|
+
|
195
|
+
`--ignore-host` *HOST*
|
196
|
+
: Ignore the host name.
|
197
|
+
|
198
|
+
`--ignore-hosts-like` `/`*REGEX*`/`
|
199
|
+
: Ignore the host names matching the *REGEX*.
|
200
|
+
|
201
|
+
`--visit-port` *PORT*
|
202
|
+
: Visit URLs with the matching port number.
|
203
|
+
|
204
|
+
`--visit-ports-like` `/`*REGEX*`/`
|
205
|
+
: Visit URLs with port numbers that match the *REGEX*.
|
206
|
+
|
207
|
+
`--ignore-port` *PORT*
|
208
|
+
: Ignore the port number.
|
209
|
+
|
210
|
+
`--ignore-ports-like` `/`*REGEX*`/`
|
211
|
+
: Ignore the port numbers matching the *REGEXP*.
|
212
|
+
|
213
|
+
`--visit-link` *URL*
|
214
|
+
: Visit the *URL*.
|
215
|
+
|
216
|
+
`--visit-links-like` `/`*REGEX*`/`
|
217
|
+
: Visit URLs that match the *REGEX*.
|
218
|
+
|
219
|
+
`--ignore-link` *URL*
|
220
|
+
: Ignore the *URL*.
|
221
|
+
|
222
|
+
`--ignore-links-like` `/`*REGEX*`/`
|
223
|
+
: Ignore URLs matching the *REGEX*.
|
224
|
+
|
225
|
+
`--visit-ext` *FILE_EXT*
|
226
|
+
: Visit URLs with the matching file ext.
|
227
|
+
|
228
|
+
`--visit-exts-like` `/`*REGEX*`/`
|
229
|
+
: Visit URLs with file exts that match the *REGEX*.
|
230
|
+
|
231
|
+
`--ignore-ext` *FILE_EXT*
|
232
|
+
: Ignore the URLs with the file ext.
|
233
|
+
|
234
|
+
`--ignore-exts-like` `/`*REGEX*`/`
|
235
|
+
: Ignore URLs with file exts matching the REGEX.
|
236
|
+
|
237
|
+
`-r`, `--robots`
|
238
|
+
: Specifies whether to honor `robots.txt`.
|
239
|
+
|
240
|
+
`--host` *HOST*
|
241
|
+
: Spiders the specific *HOST*.
|
242
|
+
|
243
|
+
`--domain` *DOMAIN*
|
244
|
+
: Spiders the whole *DOMAIN*.
|
245
|
+
|
246
|
+
`--site` *URL*
|
247
|
+
: Spiders the website, starting at the *URL*.
|
248
|
+
|
249
|
+
## ENVIRONMENT
|
250
|
+
|
251
|
+
*HTTP_PROXY*
|
252
|
+
: Sets the global HTTP proxy.
|
253
|
+
|
254
|
+
*RONIN_HTTP_PROXY*
|
255
|
+
: Sets the HTTP proxy for Ronin.
|
256
|
+
|
257
|
+
## AUTHOR
|
258
|
+
|
259
|
+
Postmodern <postmodern.mod3@gmail.com>
|
260
|
+
|
261
|
+
## SEE ALSO
|
262
|
+
|
263
|
+
[ronin-web-spider](ronin-web-spider.1.md)
|
data/man/ronin-web-xml.1
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
.\" Generated by kramdown-man 1.0.1
|
2
|
+
.\" https://github.com/postmodern/kramdown-man#readme
|
3
|
+
.TH ronin-web-xml 1 "2022-01-01" Ronin "User Manuals"
|
4
|
+
.SH NAME
|
5
|
+
.PP
|
6
|
+
ronin\-web\-xml \- Performs XPath queries on a URL or XML file
|
7
|
+
.SH SYNOPSIS
|
8
|
+
.PP
|
9
|
+
\fBronin\-web xml\fR \[lB]\fIoptions\fP\[rB] \[lC]\fIURL\fP \[or] \fIFILE\fP\[rC] \[lB]\fIXPATH\fP\[rB]
|
10
|
+
.SH DESCRIPTION
|
11
|
+
.PP
|
12
|
+
Performs XPath queries on a URL or HTML file\.
|
13
|
+
.SH ARGUMENTS
|
14
|
+
.TP
|
15
|
+
\fIURL\fP
|
16
|
+
The \fBhttp:\[sl]\[sl]\fR or \fBhttps:\[sl]\[sl]\fR URL to fetch and parse\.
|
17
|
+
.TP
|
18
|
+
\fIFILE\fP
|
19
|
+
The local XML file to parse\.
|
20
|
+
.TP
|
21
|
+
\fIXPATH\fP
|
22
|
+
The XPath query expression\.
|
23
|
+
.SH OPTIONS
|
24
|
+
.TP
|
25
|
+
\fB\-X\fR, \fB\-\-xpath\fR \fIXPATH\fP
|
26
|
+
The XPath query to perform\.
|
27
|
+
.TP
|
28
|
+
\fB\-F\fR, \fB\-\-first\fR
|
29
|
+
Only print the first match\.
|
30
|
+
.TP
|
31
|
+
\fB\-t\fR, \fB\-\-text\fR
|
32
|
+
Prints the inner\-text of the matching elements\.
|
33
|
+
.TP
|
34
|
+
\fB\-h\fR, \fB\-\-help\fR
|
35
|
+
Print help information\.
|
36
|
+
.SH AUTHOR
|
37
|
+
.PP
|
38
|
+
Postmodern
|
39
|
+
.MT postmodern\.mod3\[at]gmail\.com
|
40
|
+
.ME
|
41
|
+
.SH SEE ALSO
|
42
|
+
.PP
|
43
|
+
.BR ronin\-web\-html (1)
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# ronin-web-xml 1 "2022-01-01" Ronin "User Manuals"
|
2
|
+
|
3
|
+
## NAME
|
4
|
+
|
5
|
+
ronin-web-xml - Performs XPath queries on a URL or XML file
|
6
|
+
|
7
|
+
## SYNOPSIS
|
8
|
+
|
9
|
+
`ronin-web xml` [*options*] {*URL* \| *FILE*} [*XPATH*]
|
10
|
+
|
11
|
+
## DESCRIPTION
|
12
|
+
|
13
|
+
Performs XPath queries on a URL or HTML file.
|
14
|
+
|
15
|
+
## ARGUMENTS
|
16
|
+
|
17
|
+
*URL*
|
18
|
+
: The `http://` or `https://` URL to fetch and parse.
|
19
|
+
|
20
|
+
*FILE*
|
21
|
+
: The local XML file to parse.
|
22
|
+
|
23
|
+
*XPATH*
|
24
|
+
: The XPath query expression.
|
25
|
+
|
26
|
+
## OPTIONS
|
27
|
+
|
28
|
+
`-X`, `--xpath` *XPATH*
|
29
|
+
: The XPath query to perform.
|
30
|
+
|
31
|
+
`-F`, `--first`
|
32
|
+
: Only print the first match.
|
33
|
+
|
34
|
+
`-t`, `--text`
|
35
|
+
: Prints the inner-text of the matching elements.
|
36
|
+
|
37
|
+
`-h`, `--help`
|
38
|
+
: Print help information.
|
39
|
+
|
40
|
+
## AUTHOR
|
41
|
+
|
42
|
+
Postmodern <postmodern.mod3@gmail.com>
|
43
|
+
|
44
|
+
## SEE ALSO
|
45
|
+
|
46
|
+
[ronin-web-html](ronin-web-html.1.md)
|
data/man/ronin-web.1
CHANGED
@@ -1,41 +1,90 @@
|
|
1
|
-
.\" Generated by kramdown-man 0.1
|
1
|
+
.\" Generated by kramdown-man 1.0.1
|
2
2
|
.\" https://github.com/postmodern/kramdown-man#readme
|
3
3
|
.TH ronin-web 1 "2022-01-01" Ronin Web "User Manuals"
|
4
|
-
.
|
4
|
+
.SH NAME
|
5
|
+
.PP
|
6
|
+
ronin\-web \- a collection of useful web commands
|
5
7
|
.SH SYNOPSIS
|
6
|
-
.
|
7
|
-
|
8
|
-
\fBronin-web\fR \[lB]\fIoptions\fP\[rB] \[lB]\fICOMMAND\fP \[lB]\fIARGS\fP\[rB]\[rB]
|
9
|
-
.LP
|
8
|
+
.PP
|
9
|
+
\fBronin\-web\fR \[lB]\fIoptions\fP\[rB] \[lB]\fICOMMAND\fP \[lB]\fIARGS\fP\[rB]\[rB]
|
10
10
|
.SH DESCRIPTION
|
11
|
-
.LP
|
12
11
|
.PP
|
13
12
|
A collection of useful web commands\.
|
14
|
-
.LP
|
15
13
|
.SH ARGUMENTS
|
16
|
-
.LP
|
17
14
|
.TP
|
18
15
|
\fICOMMAND\fP
|
19
16
|
The sub\-command to execute\.
|
20
|
-
.LP
|
21
17
|
.TP
|
22
18
|
\fIARGS\fP
|
23
19
|
Additional arguments for the sub\-command\.
|
24
|
-
.LP
|
25
20
|
.SH OPTIONS
|
26
|
-
.LP
|
27
21
|
.TP
|
28
|
-
\fB
|
22
|
+
\fB\-h\fR, \fB\-\-help\fR
|
29
23
|
Prints help information\.
|
30
|
-
.
|
24
|
+
.SH COMMANDS
|
25
|
+
.TP
|
26
|
+
\fBbrowser\fR
|
27
|
+
Automates a web browser\.
|
28
|
+
.TP
|
29
|
+
\fBcompletion\fR
|
30
|
+
Manages the shell completion rules for \fBronin\-web\fR\.
|
31
|
+
.TP
|
32
|
+
\fBdiff\fR
|
33
|
+
Diffs two web pages\.
|
34
|
+
.TP
|
35
|
+
\fBhtml\fR
|
36
|
+
Performs XPath\[sl]CSS\-path queries on a URL or HTML file\.
|
37
|
+
.TP
|
38
|
+
\fBirb\fR
|
39
|
+
Starts an interactive Ruby shell with ronin\-web loaded\.
|
40
|
+
.TP
|
41
|
+
\fBnew\fR
|
42
|
+
Creates new projects or scripts\.
|
43
|
+
.TP
|
44
|
+
\fBreverse\-proxy\fR
|
45
|
+
Starts a HTTP proxy server\.
|
46
|
+
.TP
|
47
|
+
\fBscreenshot\fR
|
48
|
+
Screenshots one or more URLs\.
|
49
|
+
.TP
|
50
|
+
\fBserver\fR
|
51
|
+
Starts a web server\.
|
52
|
+
.TP
|
53
|
+
\fBsession\-cookie\fR
|
54
|
+
Parses and deserializes various session cookie formats\.
|
55
|
+
.TP
|
56
|
+
\fBspider\fR
|
57
|
+
Spiders a website\.
|
58
|
+
.TP
|
59
|
+
\fBuser\-agent\fR
|
60
|
+
Generates a random User\-Agent string\.
|
61
|
+
.TP
|
62
|
+
\fBwordlist\fR
|
63
|
+
Builds a wordlist by spidering a website\.
|
64
|
+
.TP
|
65
|
+
\fBxml\fR
|
66
|
+
Performs XPath queries on a URL or XML file\.
|
67
|
+
.TP
|
68
|
+
\fBhelp\fR
|
69
|
+
Prints help information about this command or another command\.
|
31
70
|
.SH AUTHOR
|
32
|
-
.LP
|
33
71
|
.PP
|
34
72
|
Postmodern
|
35
73
|
.MT postmodern\.mod3\[at]gmail\.com
|
36
74
|
.ME
|
37
|
-
.LP
|
38
75
|
.SH SEE ALSO
|
39
|
-
.LP
|
40
76
|
.PP
|
41
|
-
|
77
|
+
.BR ronin\-web\-browser (1)
|
78
|
+
.BR ronin\-web\-completion (1)
|
79
|
+
.BR ronin\-web\-diff (1)
|
80
|
+
.BR ronin\-web\-html (1)
|
81
|
+
.BR ronin\-web\-irb (1)
|
82
|
+
.BR ronin\-web\-new (1)
|
83
|
+
.BR ronin\-web\-reverse\-proxy (1)
|
84
|
+
.BR ronin\-web\-screenshot (1)
|
85
|
+
.BR ronin\-web\-server (1)
|
86
|
+
.BR ronin\-web\-session\-cookie (1)
|
87
|
+
.BR ronin\-web\-spider (1)
|
88
|
+
.BR ronin\-web\-user\-agent (1)
|
89
|
+
.BR ronin\-web\-wordlist (1)
|
90
|
+
.BR ronin\-web\-xml (1)
|
data/man/ronin-web.1.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# ronin-web 1 "2022-01-01" Ronin Web "User Manuals"
|
2
2
|
|
3
|
+
## NAME
|
4
|
+
|
5
|
+
ronin-web - a collection of useful web commands
|
6
|
+
|
3
7
|
## SYNOPSIS
|
4
8
|
|
5
9
|
`ronin-web` [*options*] [*COMMAND* [*ARGS*]]
|
@@ -11,15 +15,62 @@ A collection of useful web commands.
|
|
11
15
|
## ARGUMENTS
|
12
16
|
|
13
17
|
*COMMAND*
|
14
|
-
|
18
|
+
: The sub-command to execute.
|
15
19
|
|
16
20
|
*ARGS*
|
17
|
-
|
21
|
+
: Additional arguments for the sub-command.
|
18
22
|
|
19
23
|
## OPTIONS
|
20
24
|
|
21
25
|
`-h`, `--help`
|
22
|
-
|
26
|
+
: Prints help information.
|
27
|
+
|
28
|
+
## COMMANDS
|
29
|
+
|
30
|
+
`browser`
|
31
|
+
: Automates a web browser.
|
32
|
+
|
33
|
+
`completion`
|
34
|
+
: Manages the shell completion rules for `ronin-web`.
|
35
|
+
|
36
|
+
`diff`
|
37
|
+
: Diffs two web pages.
|
38
|
+
|
39
|
+
`html`
|
40
|
+
: Performs XPath/CSS-path queries on a URL or HTML file.
|
41
|
+
|
42
|
+
`irb`
|
43
|
+
: Starts an interactive Ruby shell with ronin-web loaded.
|
44
|
+
|
45
|
+
`new`
|
46
|
+
: Creates new projects or scripts.
|
47
|
+
|
48
|
+
`reverse-proxy`
|
49
|
+
: Starts a HTTP proxy server.
|
50
|
+
|
51
|
+
`screenshot`
|
52
|
+
: Screenshots one or more URLs.
|
53
|
+
|
54
|
+
`server`
|
55
|
+
: Starts a web server.
|
56
|
+
|
57
|
+
`session-cookie`
|
58
|
+
: Parses and deserializes various session cookie formats.
|
59
|
+
|
60
|
+
`spider`
|
61
|
+
: Spiders a website.
|
62
|
+
|
63
|
+
`user-agent`
|
64
|
+
: Generates a random User-Agent string.
|
65
|
+
|
66
|
+
`wordlist`
|
67
|
+
: Builds a wordlist by spidering a website.
|
68
|
+
|
69
|
+
`xml`
|
70
|
+
: Performs XPath queries on a URL or XML file.
|
71
|
+
|
72
|
+
`help`
|
73
|
+
: Prints help information about this command or another command.
|
23
74
|
|
24
75
|
## AUTHOR
|
25
76
|
|
@@ -27,4 +78,4 @@ Postmodern <postmodern.mod3@gmail.com>
|
|
27
78
|
|
28
79
|
## SEE ALSO
|
29
80
|
|
30
|
-
ronin-web-diff(1) ronin-web-html(1) ronin-web-server(1) ronin-web-spider(1) ronin-web-
|
81
|
+
[ronin-web-browser](ronin-web-browser.1.md) [ronin-web-completion](ronin-web-completion.1.md) [ronin-web-diff](ronin-web-diff.1.md) [ronin-web-html](ronin-web-html.1.md) [ronin-web-irb](ronin-web-irb.1.md) [ronin-web-new](ronin-web-new.1.md) [ronin-web-reverse-proxy](ronin-web-reverse-proxy.1.md) [ronin-web-screenshot](ronin-web-screenshot.1.md) [ronin-web-server](ronin-web-server.1.md) [ronin-web-session-cookie](ronin-web-session-cookie.1.md) [ronin-web-spider](ronin-web-spider.1.md) [ronin-web-user-agent](ronin-web-user-agent.1.md) [ronin-web-wordlist](ronin-web-wordlist.1.md) [ronin-web-xml](ronin-web-xml.1.md)
|
data/scripts/setup
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
#
|
4
|
+
# Prints a log message.
|
5
|
+
#
|
6
|
+
function log()
|
7
|
+
{
|
8
|
+
if [[ -t 1 ]]; then
|
9
|
+
echo -e "\x1b[1m\x1b[32m>>>\x1b[0m \x1b[1m$1\x1b[0m"
|
10
|
+
else
|
11
|
+
echo ">>> $1"
|
12
|
+
fi
|
13
|
+
}
|
14
|
+
|
15
|
+
#
|
16
|
+
# Prints a warn message.
|
17
|
+
#
|
18
|
+
function warn()
|
19
|
+
{
|
20
|
+
if [[ -t 1 ]]; then
|
21
|
+
echo -e "\x1b[1m\x1b[33m***\x1b[0m \x1b[1m$1\x1b[0m" >&2
|
22
|
+
else
|
23
|
+
echo "*** $1" >&2
|
24
|
+
fi
|
25
|
+
}
|
26
|
+
|
27
|
+
#
|
28
|
+
# Prints an error message.
|
29
|
+
#
|
30
|
+
function error()
|
31
|
+
{
|
32
|
+
if [[ -t 1 ]]; then
|
33
|
+
echo -e "\x1b[1m\x1b[31m!!!\x1b[0m \x1b[1m$1\x1b[0m" >&2
|
34
|
+
else
|
35
|
+
echo "!!! $1" >&2
|
36
|
+
fi
|
37
|
+
}
|
38
|
+
|
39
|
+
#
|
40
|
+
# Prints an error message and exists with -1.
|
41
|
+
#
|
42
|
+
function fail()
|
43
|
+
{
|
44
|
+
error "$@"
|
45
|
+
exit -1
|
46
|
+
}
|
47
|
+
|
48
|
+
# default to installing gems into vendor/bundle
|
49
|
+
if [[ ! -f .bundle/config ]]; then
|
50
|
+
bundle config set --local path vendor/bundle >/dev/null || \
|
51
|
+
fail "Failed to run 'bundle config'"
|
52
|
+
fi
|
53
|
+
|
54
|
+
log "Installing gems ..."
|
55
|
+
bundle install || fail "Failed to run 'bundle install'!"
|
56
|
+
|
57
|
+
log "Setting up the project ..."
|
58
|
+
bundle exec rake setup || "Failed to run 'rake setup'!"
|