Skip to content

Commit ca98e91

Browse files
authored
Merge pull request #644 from ninp0/master
PWN::Plugins::TransparentBrowser module - comment out browser_obj[:bi…
2 parents 8cee663 + 243102f commit ca98e91

File tree

3 files changed

+28
-24
lines changed

3 files changed

+28
-24
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ $ cd /opt/pwn
3737
$ ./install.sh
3838
$ ./install.sh ruby-gem
3939
$ pwn
40-
pwn[v0.5.178]:001 >>> PWN.help
40+
pwn[v0.5.179]:001 >>> PWN.help
4141
```
4242

4343
[![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
5252
$ gem uninstall --all --executables pwn
5353
$ gem install --verbose pwn
5454
$ pwn
55-
pwn[v0.5.178]:001 >>> PWN.help
55+
pwn[v0.5.179]:001 >>> PWN.help
5656
```
5757

5858
If you're using a multi-user install of RVM do:
@@ -62,7 +62,7 @@ $ rvm use ruby-3.3.3@pwn
6262
$ rvmsudo gem uninstall --all --executables pwn
6363
$ rvmsudo gem install --verbose pwn
6464
$ pwn
65-
pwn[v0.5.178]:001 >>> PWN.help
65+
pwn[v0.5.179]:001 >>> PWN.help
6666
```
6767

6868
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:

lib/pwn/plugins/transparent_browser.rb

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,9 @@ module TransparentBrowser
5858
browser_obj[:tor_obj] = tor_obj
5959
end
6060

61+
devtools_supported = %i[chrome headless_chrome firefox headless_firefox headless]
6162
with_devtools = opts[:with_devtools] ||= true
63+
with_devtools = false unless devtools_supported.include?(browser_type)
6264

6365
# Let's crank up the default timeout from 30 seconds to 15 min for slow sites
6466
Watir.default_timeout = 900
@@ -277,32 +279,34 @@ module TransparentBrowser
277279
browser_obj[:browser] = Faye::WebSocket::Client.new('')
278280
end
279281
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'
281283
return nil
282284
end
283285

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)
288287
rand_tab = SecureRandom.hex(8)
288+
browser_obj[:browser].goto('about:about')
289289
browser_obj[:browser].execute_script("document.title = '#{rand_tab}'")
290290

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
306310
end
307311

308312
browser_obj

lib/pwn/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# frozen_string_literal: true
22

33
module PWN
4-
VERSION = '0.5.178'
4+
VERSION = '0.5.179'
55
end

0 commit comments

Comments
 (0)