pwn 0.5.178 → 0.5.179

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: 689a88328dd337da1e607c85cb033503df3bbe2befbb459b16efc670f975c2ff
4
- data.tar.gz: 94e412420f5d9993bee9fc13dcaa33bc0233ca56810c5480a41ad8c62961d9b9
3
+ metadata.gz: 3c731dd165a8e1944b7fab3438d92d3ce475bbeda7e198589413cc141beac5d3
4
+ data.tar.gz: 4d69eb7d8a1c966b71e5d6d6e8f111f36f700c5549b7c0a8fb2e0f0822114b79
5
5
  SHA512:
6
- metadata.gz: 8bd37d169981b0c945c7b7636f14dc786af41f3b533fae618459f2ddf211430bed07634f8b2a75ab625f182c7964edae65149c681ac2e945e7ce67f39657cd2e
7
- data.tar.gz: 90392a8941be9e0271e63618202a7692dcfec9085064e4ee3f52abd5be7a2d7be2f6c50bcfd23de263cfd55bd55d03da5377dc787eaa2c91d7d61476292635fe
6
+ metadata.gz: b49202e6895e994720a12ab5995ce3b5e0c1147c1461dbd1e0437f1ddad0b255a5510f8d60aa2138b28648a151f45519c9743539e5d434a90e8e680dd84755ec
7
+ data.tar.gz: 65d5f85e931196f99a6d13a3360c5f0e9c2628566a7369aa7c43b6ebe3521dd712e9cb84e27e2f48bea909c9919ecd1f2b248021d27daeb624a9154d9bc7c418
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ cd /opt/pwn
37
37
  $ ./install.sh
38
38
  $ ./install.sh ruby-gem
39
39
  $ pwn
40
- pwn[v0.5.178]:001 >>> PWN.help
40
+ pwn[v0.5.179]: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.3.3@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.5.178]:001 >>> PWN.help
55
+ pwn[v0.5.179]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
  If you're using a multi-user install of RVM do:
@@ -62,7 +62,7 @@ $ rvm use ruby-3.3.3@pwn
62
62
  $ rvmsudo gem uninstall --all --executables pwn
63
63
  $ rvmsudo gem install --verbose pwn
64
64
  $ pwn
65
- pwn[v0.5.178]:001 >>> PWN.help
65
+ pwn[v0.5.179]:001 >>> PWN.help
66
66
  ```
67
67
 
68
68
  PWN periodically upgrades to the latest version of Ruby which is reflected in `/opt/pwn/.ruby-version`. The easiest way to upgrade to the latest version of Ruby from a previous PWN installation is to run the following script:
@@ -58,7 +58,9 @@ module PWN
58
58
  browser_obj[:tor_obj] = tor_obj
59
59
  end
60
60
 
61
+ devtools_supported = %i[chrome headless_chrome firefox headless_firefox headless]
61
62
  with_devtools = opts[:with_devtools] ||= true
63
+ with_devtools = false unless devtools_supported.include?(browser_type)
62
64
 
63
65
  # Let's crank up the default timeout from 30 seconds to 15 min for slow sites
64
66
  Watir.default_timeout = 900
@@ -277,32 +279,34 @@ module PWN
277
279
  browser_obj[:browser] = Faye::WebSocket::Client.new('')
278
280
  end
279
281
  else
280
- puts 'Error: browser_type only supports :firefox, :chrome, :headless, :rest, or :websocket'
282
+ puts 'Error: browser_type only supports :firefox, :chrome, :headless, :headless_chrome, :headless_firefox, :rest, :websocket'
281
283
  return nil
282
284
  end
283
285
 
284
- browser_type = browser_obj[:type]
285
- supported = %i[chrome headless_chrome firefox headless_firefox headless]
286
- if with_devtools && supported.include?(browser_type)
287
- browser_obj[:browser].goto('about:blank')
286
+ if devtools_supported.include?(browser_type)
288
287
  rand_tab = SecureRandom.hex(8)
288
+ browser_obj[:browser].goto('about:about')
289
289
  browser_obj[:browser].execute_script("document.title = '#{rand_tab}'")
290
290
 
291
- browser_obj[:devtools] = browser_obj[:browser].driver.devtools
292
- browser_obj[:bidi] = browser_obj[:browser].driver.bidi
293
-
294
- # browser_obj[:devtools].send_cmd('DOM.enable')
295
- # browser_obj[:devtools].send_cmd('Log.enable')
296
- # browser_obj[:devtools].send_cmd('Network.enable')
297
- # browser_obj[:devtools].send_cmd('Page.enable')
298
- # browser_obj[:devtools].send_cmd('Runtime.enable')
299
- # browser_obj[:devtools].send_cmd('Security.enable')
300
-
301
- # if browser_type == :chrome || browser_type == :headless_chrome
302
- # browser_obj[:devtools].send_cmd('Debugger.enable')
303
- # browser_obj[:devtools].send_cmd('DOMStorage.enable')
304
- # browser_obj[:devtools].send_cmd('DOMSnapshot.enable')
305
- # end
291
+ if with_devtools
292
+ browser_obj[:devtools] = browser_obj[:browser].driver.devtools
293
+
294
+ browser_obj[:devtools].send_cmd('DOM.enable')
295
+ browser_obj[:devtools].send_cmd('Log.enable')
296
+ browser_obj[:devtools].send_cmd('Network.enable')
297
+ browser_obj[:devtools].send_cmd('Page.enable')
298
+ browser_obj[:devtools].send_cmd('Runtime.enable')
299
+ browser_obj[:devtools].send_cmd('Security.enable')
300
+
301
+ chrome_browser_types = %i[chrome headless_chrome]
302
+ if chrome_browser_types.include?(browser_type)
303
+ browser_obj[:devtools].send_cmd('Debugger.enable')
304
+ browser_obj[:devtools].send_cmd('DOMStorage.enable')
305
+ browser_obj[:devtools].send_cmd('DOMSnapshot.enable')
306
+ end
307
+
308
+ # browser_obj[:bidi] = browser_obj[:browser].driver.bidi
309
+ end
306
310
  end
307
311
 
308
312
  browser_obj
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.5.178'
4
+ VERSION = '0.5.179'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.178
4
+ version: 0.5.179
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-22 00:00:00.000000000 Z
11
+ date: 2024-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport