pwn 0.4.536 → 0.4.539
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/README.md +2 -2
- data/bin/pwn_www_uri_buster +20 -3
- data/lib/pwn/reports/uri_buster.rb +11 -3
- data/lib/pwn/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c77a67e15fb91b4692811c34abe3e3afe3ad69d22dcf7a9d01b5b98915edb64d
|
|
4
|
+
data.tar.gz: cb6fdef97a465f89ec32e4f56460fd4ab3100faa06d4e2ce52758af07ebc1ea0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bb307006843ea074f7439c946cb5931a60a14937dc58d1141a58f6c9729e16afb9f9e98de385cc15edb82185bd025f5a0847e2f8586b844456bfd8a3d6caf7dd
|
|
7
|
+
data.tar.gz: 1d0b9cb85f3e7f1ab413355028a40b869eb654475f11ab5ce98263e5c283d027402459bcf1567ee8704844451c5fe84423d148482b7939faedaf65f8ff02ef91
|
data/README.md
CHANGED
|
@@ -37,7 +37,7 @@ $ rvm use ruby-3.1.2@pwn
|
|
|
37
37
|
$ rvm list gemsets
|
|
38
38
|
$ gem install --verbose pwn
|
|
39
39
|
$ pwn
|
|
40
|
-
pwn[v0.4.
|
|
40
|
+
pwn[v0.4.539]:001 >>> PWN.help
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
[](https://youtu.be/G7iLUY4FzsI)
|
|
@@ -52,7 +52,7 @@ $ rvm use ruby-3.1.2@pwn
|
|
|
52
52
|
$ gem uninstall --all --executables pwn
|
|
53
53
|
$ gem install --verbose pwn
|
|
54
54
|
$ pwn
|
|
55
|
-
pwn[v0.4.
|
|
55
|
+
pwn[v0.4.539]:001 >>> PWN.help
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
|
data/bin/pwn_www_uri_buster
CHANGED
|
@@ -25,6 +25,10 @@ OptionParser.new do |options|
|
|
|
25
25
|
opts[:http_request_headers] = h
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
+
options.on('-pPROXY', '--proxy=PROXY', '<Optional - Proxy SCHEME://ADDRESS:PORT>') do |p|
|
|
29
|
+
opts[:proxy] = p
|
|
30
|
+
end
|
|
31
|
+
|
|
28
32
|
options.on('-tTHREADS', '--max-threads=THREADS', '<Optional # HTTP Requests to Run Simultaneously (Default 100)>') do |t|
|
|
29
33
|
opts[:max_threads] = t
|
|
30
34
|
end
|
|
@@ -59,6 +63,8 @@ begin
|
|
|
59
63
|
|
|
60
64
|
http_request_headers = opts[:http_request_headers]
|
|
61
65
|
|
|
66
|
+
proxy = opts[:proxy]
|
|
67
|
+
|
|
62
68
|
max_threads = opts[:max_threads]
|
|
63
69
|
max_threads ||= 100
|
|
64
70
|
|
|
@@ -95,7 +101,16 @@ begin
|
|
|
95
101
|
print '.'
|
|
96
102
|
http_uri = "#{target_url}/#{wordlist_line}"
|
|
97
103
|
rest_client_resp_hash = {}
|
|
98
|
-
|
|
104
|
+
if proxy
|
|
105
|
+
rest_client = PWN::Plugins::TransparentBrowser.open(
|
|
106
|
+
browser_type: :rest,
|
|
107
|
+
proxy: proxy
|
|
108
|
+
)::Request
|
|
109
|
+
else
|
|
110
|
+
rest_client = PWN::Plugins::TransparentBrowser.open(
|
|
111
|
+
browser_type: :rest
|
|
112
|
+
)::Request
|
|
113
|
+
end
|
|
99
114
|
|
|
100
115
|
headers = nil
|
|
101
116
|
if http_request_headers
|
|
@@ -117,7 +132,8 @@ begin
|
|
|
117
132
|
http_uri: http_uri,
|
|
118
133
|
http_method: http_method,
|
|
119
134
|
http_resp_code: response.code,
|
|
120
|
-
|
|
135
|
+
http_resp_length: response.body.length,
|
|
136
|
+
http_resp: "#{response.body[0..300]}..."
|
|
121
137
|
}
|
|
122
138
|
rescue RestClient::ExceptionWithResponse => e
|
|
123
139
|
rest_client_resp_hash = {
|
|
@@ -125,7 +141,8 @@ begin
|
|
|
125
141
|
http_uri: http_uri,
|
|
126
142
|
http_method: http_method,
|
|
127
143
|
http_resp_code: e.response.code,
|
|
128
|
-
|
|
144
|
+
http_resp_length: e.response.body.length,
|
|
145
|
+
http_resp: "#{e.response.body[0..300]}..."
|
|
129
146
|
}
|
|
130
147
|
next
|
|
131
148
|
rescue URI::InvalidURIError
|
|
@@ -98,7 +98,8 @@ module PWN
|
|
|
98
98
|
<a class="toggle-vis" data-column="2" href="#">URI</a> |
|
|
99
99
|
<a class="toggle-vis" data-column="3" href="#">HTTP Method</a> |
|
|
100
100
|
<a class="toggle-vis" data-column="4" href="#">HTTP Response Code</a> |
|
|
101
|
-
<a class="toggle-vis" data-column="5" href="#">HTTP Response</a> |
|
|
101
|
+
<a class="toggle-vis" data-column="5" href="#">HTTP Response Length</a> |
|
|
102
|
+
<a class="toggle-vis" data-column="6" href="#">HTTP Response</a> |
|
|
102
103
|
</div>
|
|
103
104
|
<br /><br />
|
|
104
105
|
|
|
@@ -111,7 +112,8 @@ module PWN
|
|
|
111
112
|
<th>URI</th>
|
|
112
113
|
<th>HTTP Method</th>
|
|
113
114
|
<th>HTTP Response Code</th>
|
|
114
|
-
<th>HTTP Response</th>
|
|
115
|
+
<th>HTTP Response Length</th>
|
|
116
|
+
<th>HTTP Response (300 bytes)</th>
|
|
115
117
|
</tr>
|
|
116
118
|
</thead>
|
|
117
119
|
<!-- DataTables <tbody> -->
|
|
@@ -163,7 +165,9 @@ module PWN
|
|
|
163
165
|
},
|
|
164
166
|
{
|
|
165
167
|
"data": "http_uri",
|
|
166
|
-
"render":
|
|
168
|
+
"render": function (data, type, row, meta) {
|
|
169
|
+
return '<a href="' + data + '" target="_blank">' + data + '</a>';
|
|
170
|
+
}
|
|
167
171
|
},
|
|
168
172
|
{
|
|
169
173
|
"data": "http_method",
|
|
@@ -173,6 +177,10 @@ module PWN
|
|
|
173
177
|
"data": "http_resp_code",
|
|
174
178
|
"render": $.fn.dataTable.render.text()
|
|
175
179
|
},
|
|
180
|
+
{
|
|
181
|
+
"data": "http_resp_length",
|
|
182
|
+
"render": $.fn.dataTable.render.text()
|
|
183
|
+
},
|
|
176
184
|
{
|
|
177
185
|
"data": "http_resp",
|
|
178
186
|
"render": $.fn.dataTable.render.text()
|
data/lib/pwn/version.rb
CHANGED