pwn 0.4.536 → 0.4.539

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 75a3c44b4d258c5aa1c21cb66446b0031c76ec030df627c710239613fb956fe1
4
- data.tar.gz: 151e3aeadc5f56d92f8c4da1c9fa1261c9b73dee8a54791a9600a61e3372cd7d
3
+ metadata.gz: c77a67e15fb91b4692811c34abe3e3afe3ad69d22dcf7a9d01b5b98915edb64d
4
+ data.tar.gz: cb6fdef97a465f89ec32e4f56460fd4ab3100faa06d4e2ce52758af07ebc1ea0
5
5
  SHA512:
6
- metadata.gz: 99cc15bbea7f10d2499b117fc537d514b5263885e1029df369355a603430d26ecb03bd73768b31f619a4325ff98599fa3f3adfb70f5e161ff71ff4da2daff152
7
- data.tar.gz: 98dee6ed4c6151fde6467c55e900039bf63c7386851b596f17d1f1a20f19e2b15a9e189a871ff43395d3882fc48ce97d52463df9e88e79fa3697774fd2ff47f5
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.536]:001 >>> PWN.help
40
+ pwn[v0.4.539]: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.1.2@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.4.536]:001 >>> PWN.help
55
+ pwn[v0.4.539]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
@@ -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
- rest_client = PWN::Plugins::TransparentBrowser.open(browser_type: :rest)::Request
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
- http_resp: response.body[0..300]
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
- http_resp: e.response.body[0..300]
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>&nbsp;|&nbsp;
99
99
  <a class="toggle-vis" data-column="3" href="#">HTTP Method</a>&nbsp;|&nbsp;
100
100
  <a class="toggle-vis" data-column="4" href="#">HTTP Response Code</a>&nbsp;|&nbsp;
101
- <a class="toggle-vis" data-column="5" href="#">HTTP Response</a>&nbsp;|&nbsp;
101
+ <a class="toggle-vis" data-column="5" href="#">HTTP Response Length</a>&nbsp;|&nbsp;
102
+ <a class="toggle-vis" data-column="6" href="#">HTTP Response</a>&nbsp;|&nbsp;
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": $.fn.dataTable.render.text()
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PWN
4
- VERSION = '0.4.536'
4
+ VERSION = '0.4.539'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.536
4
+ version: 0.4.539
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.