pwn 0.4.817 → 0.4.819
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/bin/pwn_www_uri_buster +9 -6
- data/lib/pwn/reports/uri_buster.rb +8 -2
- 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: bae9c7d488970b8e1749753cf6b858c937a1437ae2adf82b9e2d83746f609b6e
|
4
|
+
data.tar.gz: 0c54b6ec6b64769392c5e0e6409aebb1218ce01c9ea0f5b5258961bbd7e513c3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 01a111a7266278d0f3ea8cda414c693077fd1d051771e18c9fab963975f341218561607824e04a7c8c384c44898a8dbe122e5f9c96e1a29dfa001ba51487ba15
|
7
|
+
data.tar.gz: 6aad9efc09b8f0184b0265024656fdf377c5664a33f792f97b3929206107cc1f2c0d697dfd50c1e37ede8718841d3bc032fb07f935b763faa09628ef40883dda
|
data/README.md
CHANGED
@@ -37,7 +37,7 @@ $ rvm use ruby-3.2.2@pwn
|
|
37
37
|
$ rvm list gemsets
|
38
38
|
$ gem install --verbose pwn
|
39
39
|
$ pwn
|
40
|
-
pwn[v0.4.
|
40
|
+
pwn[v0.4.819]:001 >>> PWN.help
|
41
41
|
```
|
42
42
|
|
43
43
|
[![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](https://youtu.be/G7iLUY4FzsI)
|
@@ -52,7 +52,7 @@ $ rvm use ruby-3.2.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.819]:001 >>> PWN.help
|
56
56
|
```
|
57
57
|
|
58
58
|
|
data/bin/pwn_www_uri_buster
CHANGED
@@ -25,7 +25,7 @@ OptionParser.new do |options|
|
|
25
25
|
opts[:append_pattern] = a
|
26
26
|
end
|
27
27
|
|
28
|
-
options.on('-pPROXY', '--proxy=PROXY', '<Optional - Proxy SCHEME://ADDRESS:PORT>') do |p|
|
28
|
+
options.on('-pPROXY', '--proxy=PROXY', '<Optional - Proxy SCHEME://ADDRESS:PORT || tor>') do |p|
|
29
29
|
opts[:proxy] = p
|
30
30
|
end
|
31
31
|
|
@@ -75,11 +75,6 @@ def request_path(opts = {})
|
|
75
75
|
browser_type: :rest,
|
76
76
|
proxy: proxy
|
77
77
|
)
|
78
|
-
|
79
|
-
if proxy == 'tor'
|
80
|
-
tor_obj = browser_obj[:tor_obj]
|
81
|
-
PWN::Plugins::Tor.switch_exit_node(tor_obj: tor_obj)
|
82
|
-
end
|
83
78
|
else
|
84
79
|
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
85
80
|
browser_type: :rest
|
@@ -108,6 +103,7 @@ def request_path(opts = {})
|
|
108
103
|
http_method: http_method,
|
109
104
|
http_resp_code: response.code,
|
110
105
|
http_resp_length: response.body.length,
|
106
|
+
http_resp_headers: response.headers,
|
111
107
|
http_resp: "#{response.body[0..300]}..."
|
112
108
|
}
|
113
109
|
rescue Errno::ECONNREFUSED
|
@@ -122,6 +118,7 @@ def request_path(opts = {})
|
|
122
118
|
http_method: http_method,
|
123
119
|
http_resp_code: e.class,
|
124
120
|
http_resp_length: 'N/A',
|
121
|
+
http_resp_headers: 'N/A',
|
125
122
|
http_resp: e.class
|
126
123
|
}
|
127
124
|
rescue RestClient::ExceptionWithResponse => e
|
@@ -132,6 +129,7 @@ def request_path(opts = {})
|
|
132
129
|
http_method: http_method,
|
133
130
|
http_resp_code: e.response.code,
|
134
131
|
http_resp_length: e.response.body.length,
|
132
|
+
http_resp_headers: response.headers,
|
135
133
|
http_resp: "#{e.response.body[0..300]}..."
|
136
134
|
}
|
137
135
|
else
|
@@ -141,6 +139,7 @@ def request_path(opts = {})
|
|
141
139
|
http_method: http_method,
|
142
140
|
http_resp_code: 'N/A',
|
143
141
|
http_resp_length: 'N/A',
|
142
|
+
http_resp_headers: 'N/A',
|
144
143
|
http_resp: 'N/A'
|
145
144
|
}
|
146
145
|
end
|
@@ -154,6 +153,10 @@ def request_path(opts = {})
|
|
154
153
|
retry
|
155
154
|
rescue RestClient::TooManyRequests
|
156
155
|
sleep 60
|
156
|
+
ensure
|
157
|
+
browser_obj = PWN::Plugins::TransparentBrowser.close(
|
158
|
+
browser_obj: browser_obj
|
159
|
+
)
|
157
160
|
end
|
158
161
|
|
159
162
|
rest_client_resp_hash
|
@@ -100,7 +100,8 @@ module PWN
|
|
100
100
|
<a class="toggle-vis" data-column="3" href="#">HTTP Method</a> |
|
101
101
|
<a class="toggle-vis" data-column="4" href="#">HTTP Response Code</a> |
|
102
102
|
<a class="toggle-vis" data-column="5" href="#">HTTP Response Length</a> |
|
103
|
-
<a class="toggle-vis" data-column="6" href="#">HTTP Response</a> |
|
103
|
+
<a class="toggle-vis" data-column="6" href="#">HTTP Response Headers</a> |
|
104
|
+
<a class="toggle-vis" data-column="7" href="#">HTTP Response Body</a> |
|
104
105
|
</div>
|
105
106
|
<br /><br />
|
106
107
|
|
@@ -114,7 +115,8 @@ module PWN
|
|
114
115
|
<th>HTTP Method</th>
|
115
116
|
<th>HTTP Response Code</th>
|
116
117
|
<th>HTTP Response Length</th>
|
117
|
-
<th>HTTP Response
|
118
|
+
<th>HTTP Response Headers</th>
|
119
|
+
<th>HTTP Response Body (300 bytes)</th>
|
118
120
|
</tr>
|
119
121
|
</thead>
|
120
122
|
<!-- DataTables <tbody> -->
|
@@ -182,6 +184,10 @@ module PWN
|
|
182
184
|
"data": "http_resp_length",
|
183
185
|
"render": $.fn.dataTable.render.text()
|
184
186
|
},
|
187
|
+
{
|
188
|
+
"data": "http_resp_headers",
|
189
|
+
"render": $.fn.dataTable.render.text()
|
190
|
+
},
|
185
191
|
{
|
186
192
|
"data": "http_resp",
|
187
193
|
"render": $.fn.dataTable.render.text()
|
data/lib/pwn/version.rb
CHANGED