lib/pwn/plugins/transparent_browser.rb in pwn-0.5.185 vs lib/pwn/plugins/transparent_browser.rb in pwn-0.5.186
- old
+ new
@@ -305,10 +305,12 @@
browser_obj[:devtools].send_cmd('DOMStorage.enable')
browser_obj[:devtools].send_cmd('DOMSnapshot.enable')
end
browser_obj[:bidi] = driver.bidi
+
+ browser_obj[:browser].body.send_keys(:escape)
end
end
browser_obj
rescue StandardError => e
@@ -485,17 +487,20 @@
url = opts[:url]
firefox_types = %i[firefox headless_firefox]
browser = browser_obj[:browser]
browser_type = browser_obj[:type]
+ devtools = browser_obj[:devtools]
browser.execute_script('window.open()')
jmp_tab(browser_obj: browser_obj, keyword: 'about:blank')
browser.goto('about:about') if url.nil?
rand_tab = SecureRandom.hex(8)
browser.execute_script("document.title = '#{rand_tab}'")
# Open the DevTools for Firefox, Chrome opens them automatically
browser.body.send_keys(:f12) if firefox_types.include?(browser_type)
+ # Open Console drawer if DevTools are open
+ browser.body.send_keys(:escape) if devtools
browser.goto(url) unless url.nil?
{ title: browser.title, url: browser.url, state: :active }
rescue StandardError => e
raise e
@@ -835,10 +840,11 @@
browser_obj: 'required - browser_obj returned from #open method)',
keyword: 'required - keyword in title or url used to switch tabs'
)
tab = #{self}.new_tab(
- browser_obj: 'required - browser_obj returned from #open method)'
+ browser_obj: 'required - browser_obj returned from #open method)',
+ url: 'optional - URL to navigate to after opening new tab (Defaults to nil)'
)
tab = #{self}.close_tab(
browser_obj: 'required - browser_obj returned from #open method)',
keyword: 'required - keyword in title or url used to close tabs'