ronin-web 1.0.2 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +3 -2
- data/.gitignore +1 -0
- data/.rubocop.yml +5 -0
- data/.ruby-version +1 -1
- 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 +121 -30
- 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 XML 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 XML 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'!"
|