pwn 0.5.314 → 0.5.316

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2d666cace1557fc322f75152334daae143e11375e7b9d71bad7dfc48d7ed4b5a
4
- data.tar.gz: 3511bdbc69c4b0816a97ce3a0c13ccbf2594bf95fe0bef28e13af24e2bda8368
3
+ metadata.gz: 987e7f6f41786a977a0e1dbd0977fe614dbaf90be3cc901d2d00e20f282085b3
4
+ data.tar.gz: 252b0917e5f09d430db0f4603a12cd7a49fdd13348e30d6dca9b9861bc3bb161
5
5
  SHA512:
6
- metadata.gz: 8ab653e19fac542cf151905b439a7dacece86c08cadf25d6a68d391913080971875c45b40a3b0f3428ff279994c287fc6ff7be07663bff4aab44645310da3757
7
- data.tar.gz: 3642ac751c5e97eaed0ae97e6ddd6bab0fd75d216fa5fc9e6d2d8021ff835009c400dbd0d9c78a9e039cb4fddb10f2ed67d6fe78ade01fb7cdb7e063e951d330
6
+ metadata.gz: 970119688679e2e6fb8a3eb0e4ec80d7d995fd1e2bbb7b6aa55fc8c182a76efdfa9a9514dc9ff61dffa3849d8c3c78ca936fa3ab2c0b3ad67691e3d949a83f2e
7
+ data.tar.gz: c6c18e9ddf30be351947e11f7a04a082adeb0ac5c7ed951311a4f35ae8ec9d60f051e4b8133bfd4ac0ab2c635794dac642873942956c151f56b76a6701cfde1b
data/Gemfile CHANGED
@@ -20,7 +20,7 @@ gem 'barby', '0.7.0'
20
20
  gem 'base32', '0.3.4'
21
21
  gem 'brakeman', '7.0.2'
22
22
  gem 'bson', '5.1.1'
23
- gem 'bundler', '>=2.6.9'
23
+ gem 'bundler', '>=2.7.0'
24
24
  gem 'bundler-audit', '0.9.2'
25
25
  gem 'bunny', '2.24.0'
26
26
  gem 'colorize', '1.1.0'
@@ -61,7 +61,8 @@ gem 'nokogiri-diff', '0.3.0'
61
61
  # gem 'oauth2', '2.0.9'
62
62
  gem 'oily_png', '1.2.1'
63
63
  gem 'open3', '0.2.1'
64
- gem 'openapi3_parser', '0.10.1'
64
+ # Relies on cargo, which is not available in OpenBSD via pkg_add atm.
65
+ # gem 'openapi3_parser', '0.10.1'
65
66
  gem 'os', '1.1.4'
66
67
  gem 'ostruct', '0.6.2'
67
68
  gem 'packetfu', '2.0.0'
@@ -76,7 +77,7 @@ gem 'rbvmomi2', '3.8.0'
76
77
  gem 'rdoc', '6.14.2'
77
78
  gem 'rest-client', '2.1.0'
78
79
  gem 'rex', '2.0.13'
79
- gem 'rmagick', '6.1.1'
80
+ gem 'rmagick', '6.1.2'
80
81
  gem 'rqrcode', '3.1.0'
81
82
  gem 'rspec', '3.13.1'
82
83
  gem 'rtesseract', '3.1.4'
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.314]:001 >>> PWN.help
40
+ pwn[v0.5.316]: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.4.4@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.5.314]:001 >>> PWN.help
55
+ pwn[v0.5.316]: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.4.4@pwn
62
62
  $ rvmsudo gem uninstall --all --executables pwn
63
63
  $ rvmsudo gem install --verbose pwn
64
64
  $ pwn
65
- pwn[v0.5.314]:001 >>> PWN.help
65
+ pwn[v0.5.316]: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:
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'em/pure_ruby'
4
4
  require 'faye/websocket'
5
- require 'openapi3_parser'
5
+ # require 'openapi3_parser'
6
6
  require 'openssl'
7
7
  require 'rest-client'
8
8
  require 'securerandom'
@@ -491,7 +491,7 @@ module PWN
491
491
  # Supported Method Parameters::
492
492
  # console_resp = PWN::Plugins::TransparentBrowser.view_dom_mutations(
493
493
  # browser_obj: browser_obj1,
494
- # tab_keyword: 'optional - keyword in title or url to switch to tab (defaults to active tab per list_tabs method)',
494
+ # index: 'optional - index of tab to switch to (defaults to active tab)',
495
495
  # target: 'optional - target JavaScript node to observe (defaults to document.body)'
496
496
  # )
497
497
 
@@ -499,8 +499,8 @@ module PWN
499
499
  browser_obj = opts[:browser_obj]
500
500
  verify_devtools_browser(browser_obj: browser_obj)
501
501
 
502
- tab_keyword = opts[:tab_keyword]
503
- jmp_tab(browser_obj: browser_obj, keyword: tab_keyword) if tab_keyword
502
+ index = opts[:index]
503
+ jmp_tab(browser_obj: browser_obj, index: index) if index
504
504
 
505
505
  target = opts[:target] ||= 'undefined'
506
506
 
@@ -653,15 +653,15 @@ module PWN
653
653
  # Supported Method Parameters::
654
654
  # console_resp = PWN::Plugins::TransparentBrowser.hide_dom_mutations(
655
655
  # browser_obj: browser_obj1,
656
- # tab_keyword: 'optional - keyword in title or url to switch to tab (defaults to active tab per list_tabs method)'
656
+ # index: 'optional - index of tab to switch to (defaults to active tab)'
657
657
  # )
658
658
 
659
659
  public_class_method def self.hide_dom_mutations(opts = {})
660
660
  browser_obj = opts[:browser_obj]
661
661
  verify_devtools_browser(browser_obj: browser_obj)
662
662
 
663
- tab_keyword = opts[:tab_keyword]
664
- jmp_tab(browser_obj: browser_obj, keyword: tab_keyword) if tab_keyword
663
+ index = opts[:index]
664
+ jmp_tab(browser_obj: browser_obj, index: index) if index
665
665
 
666
666
  jmp_devtools_panel(
667
667
  browser_obj: browser_obj,
@@ -724,6 +724,48 @@ module PWN
724
724
  browser_obj = opts[:browser_obj]
725
725
  verify_devtools_browser(browser_obj: browser_obj)
726
726
 
727
+ browser = browser_obj[:browser]
728
+ current_window_handle = browser.driver.current_window_handle
729
+
730
+ tabs_arr_hash = []
731
+ browser.driver.window_handles.each_with_index do |window_handle, idx|
732
+ # Skip DevTools tabs
733
+ next if browser.driver.switch_to.window(window_handle).url.include?('devtools://')
734
+
735
+ # Get title and URL without switching tabs
736
+ title = browser.execute_script('return document.title')
737
+ url = browser.url
738
+
739
+ state = window_handle == current_window_handle ? :active : :inactive
740
+
741
+ tabs_arr_hash << { index: window_handle, title: title, url: url, state: state }
742
+ ensure
743
+ # Ensure we return to the original active tab
744
+ browser.driver.switch_to.window(current_window_handle)
745
+ end
746
+
747
+ # Ensure we have a visible tab that's active
748
+ active_tab = tabs_arr_hash.find { |tab| tab[:state] == :active } || tabs_arr_hash.first
749
+ # Switch to the active tab if it exists
750
+ browser.driver.switch_to.window(active_tab[:index]) if active_tab
751
+
752
+ tabs_arr_hash
753
+ rescue Selenium::WebDriver::Error::NoSuchWindowError => e
754
+ puts "Error: No valid window handles available (#{e.message})"
755
+ [] # Return empty array if no tabs are available
756
+ rescue StandardError => e
757
+ raise "Failed to list tabs: #{e.message}"
758
+ end
759
+
760
+ # Supported Method Parameters::
761
+ # tabs = PWN::Plugins::TransparentBrowser.list_tabs_legacy(
762
+ # browser_obj: 'required - browser_obj returned from #open method)'
763
+ # )
764
+
765
+ public_class_method def self.list_tabs_legacy(opts = {})
766
+ browser_obj = opts[:browser_obj]
767
+ verify_devtools_browser(browser_obj: browser_obj)
768
+
727
769
  idx = 0
728
770
  current_window_handle = browser_obj[:browser].driver.window_handle
729
771
 
@@ -1301,13 +1343,13 @@ module PWN
1301
1343
 
1302
1344
  console_resp = #{self}.view_dom_mutations(
1303
1345
  browser_obj: 'required - browser_obj returned from #open method)',
1304
- tab_keyword: 'optional - keyword in title or url to switch to tab (defaults to active tab per list_tabs method)',
1346
+ index: 'optional - index of tab to switch to (defaults to active tab)',
1305
1347
  target: 'optional - target JavaScript node to observe (defaults to document.body)'
1306
1348
  )
1307
1349
 
1308
1350
  console_resp = #{self}.hide_dom_mutations(
1309
1351
  browser_obj: 'required - browser_obj returned from #open method)',
1310
- tab_keyword: 'optional - keyword in title or url to switch to tab (defaults to active tab per list_tabs method)'
1352
+ index: 'optional - index of tab to switch to (defaults to active tab)'
1311
1353
  )
1312
1354
 
1313
1355
  #{self}.update_about_config(
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.314'
4
+ VERSION = '0.5.316'
5
5
  end
@@ -97,4 +97,4 @@ case $os in
97
97
  exit 1
98
98
  esac
99
99
 
100
- sudo /bin/bash --login -c "cd ${pwn_root} && cp etc/userland/${pwn_provider}/metasploit/vagrant.yaml.EXAMPLE etc/userland/${pwn_provider}/metasploit/vagrant.yaml && sudo ./reinstall_pwn_gemset.sh && ./build_pwn_gem.sh && rubocop"
100
+ rvmsudo /bin/bash --login -c "cd ${pwn_root} && cp etc/userland/${pwn_provider}/metasploit/vagrant.yaml.EXAMPLE etc/userland/${pwn_provider}/metasploit/vagrant.yaml && ./reinstall_pwn_gemset.sh && ./build_pwn_gem.sh && rubocop"
@@ -17,7 +17,7 @@ fi
17
17
 
18
18
  rvm use ruby-$ruby_version@$ruby_gemset --create
19
19
  export rvmsudo_secure_path=1
20
- rvmsudo gem install bundler
20
+ gem install bundler
21
21
  if [[ $(uname -s) == "Darwin" ]]; then
22
22
  bundle config build.pg --with-pg-config=/opt/local/lib/postgresql96/bin/pg_config
23
23
  # bundle config build.serialport \
@@ -943,27 +943,27 @@
943
943
  {"messages":[{"role":"user","content":"PWN::Plugins::Tor.tor_control_cmd Usage"},{"role":"assistant","content":"`PWN::Plugins::Tor.tor_control_cmd`: Supported Method Parameters\n\ntor_ctrl_cmd(\n\ntor_obj: 'required - tor_obj returned from #start method'\ncmd: 'required - Tor control command to execute',\nresponse_timeout: 'optional - float in seconds to timeout (default: 3.0)'\n\n)\n"}]}
944
944
  {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
945
945
  {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.close Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.close`: Supported Method Parameters\n\nbrowser_obj1 = PWN::Plugins::TransparentBrowser.close(\n\nbrowser_obj: 'required - browser_obj returned from #open method)'\n\n)\n"}]}
946
- {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.close_tab Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.close_tab`: Supported Method Parameters\n\ntab = PWN::Plugins::TransparentBrowser.close_tab(\n\nbrowser_obj: 'required - browser_obj returned from #open method)',\nkeyword: 'required - keyword in title or url used to close tabs'\n\n)\n"}]}
946
+ {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.close_tab Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.close_tab`: Supported Method Parameters\n\ntab = PWN::Plugins::TransparentBrowser.close_tab(\n\nbrowser_obj: 'required - browser_obj returned from #open method)',\nindex: 'optional - index of tab to close (defaults to closing active tab)',\nkeyword: 'optional - keyword in title or url used to close tabs (defaults to closing active tab)'\n\n)\n"}]}
947
947
  {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.console Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.console`: Supported Method Parameters\n\nconsole_resp = PWN::Plugins::TransparentBrowser.console(\n\nbrowser_obj: browser_obj1,\njs: 'required - JavaScript expression to evaluate',\nreturn_to: 'optional - return to :console or :stdout (defaults to :console)'\n\n)\n"}]}
948
948
  {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.debugger Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.debugger`: Supported Method Parameters\n\nPWN::Plugins::TransparentBrowser.debugger(\n\nbrowser_obj: 'required - browser_obj returned from #open method)',\naction: 'optional - action to take :pause|:resume (Defaults to :pause)',\nurl: 'optional - URL to navigate to after pausing debugger (Defaults to nil)'\n\n)\n"}]}
949
949
  {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.dom Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.dom`: Supported Method Parameters\n\ncurrent_dom = PWN::Plugins::TransparentBrowser.dom(\n\nbrowser_obj: 'required - browser_obj returned from #open method)'\n\n)\n"}]}
950
950
  {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.dump_links Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.dump_links`: Supported Method Parameters\n\nbrowser_obj = PWN::Plugins::TransparentBrowser.dump_links(\n\nbrowser_obj: browser_obj1\n\n)\n"}]}
951
951
  {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.find_elements_by_text Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.find_elements_by_text`: Supported Method Parameters\n\nbrowser_obj = PWN::Plugins::TransparentBrowser.find_elements_by_text(\n\nbrowser_obj: browser_obj1,\ntext: 'required - text to search for in the DOM'\n\n)\n"}]}
952
952
  {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.help Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.help`: "}]}
953
- {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.hide_dom_mutations Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.hide_dom_mutations`: Supported Method Parameters\n\nconsole_resp = PWN::Plugins::TransparentBrowser.hide_dom_mutations(\n\nbrowser_obj: browser_obj1,\ntab_keyword: 'optional - keyword in title or url to switch to tab (defaults to active tab per list_tabs method)'\n\n)\n"}]}
953
+ {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.hide_dom_mutations Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.hide_dom_mutations`: Supported Method Parameters\n\nconsole_resp = PWN::Plugins::TransparentBrowser.hide_dom_mutations(\n\nbrowser_obj: browser_obj1,\nindex: 'optional - index of tab to switch to (defaults to active tab)'\n\n)\n"}]}
954
954
  {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.jmp_devtools_panel Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.jmp_devtools_panel`: Supported Method Parameters\n\nPWN::Plugins::TransparentBrowser.jmp_devtools_panel(\n\nbrowser_obj: 'required - browser_obj returned from #open method)',\npanel: 'optional - panel to switch to :elements|:inspector|:console|:debugger|:sources|:network\n\n)\n"}]}
955
- {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.jmp_tab Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.jmp_tab`: Supported Method Parameters\n\ntab = PWN::Plugins::TransparentBrowser.jmp_tab(\n\nbrowser_obj: 'required - browser_obj returned from #open method)',\nkeyword: 'optional - keyword in title or url used to switch tabs (defaults to switching to next tab)',\nexplicit: 'optional - boolean to indicate if the keyword is an exact match (Defaults to false)'\n\n)\n"}]}
955
+ {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.jmp_tab Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.jmp_tab`: Supported Method Parameters\n\ntab = PWN::Plugins::TransparentBrowser.jmp_tab(\n\nbrowser_obj: 'required - browser_obj returned from #open method)',\nindex: 'optional - index of tab to switch to (defaults to switching to next tab)',\nkeyword: 'optional - keyword in title or url used to switch tabs (defaults to switching to next tab)'\n\n)\n"}]}
956
956
  {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.list_tabs Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.list_tabs`: Supported Method Parameters\n\ntabs = PWN::Plugins::TransparentBrowser.list_tabs(\n\nbrowser_obj: 'required - browser_obj returned from #open method)'\n\n)\n"}]}
957
- {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.new_tab Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.new_tab`: Supported Method Parameters\n\ntab = PWN::Plugins::TransparentBrowser.new_tab(\n\nbrowser_obj: 'required - browser_obj returned from #open method)',\nfirst_tab: 'optional - boolean to indicate if this is the first tab (Defaults to false)'\n\n)\n"}]}
958
- {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.open Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.open`: Supported Method Parameters\n\nbrowser_obj1 = PWN::Plugins::TransparentBrowser.open(\n\nbrowser_type: 'optional - :firefox|:chrome|:headless|:rest|:websocket (defaults to :chrome)',\nproxy: 'optional - scheme://proxy_host:port || tor (defaults to nil)',\ndevtools: 'optional - boolean (defaults to true)',\n\n)\n"}]}
957
+ {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.new_tab Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.new_tab`: Supported Method Parameters\n\ntab = PWN::Plugins::TransparentBrowser.new_tab(\n\nbrowser_obj: 'required - browser_obj returned from #open method)',\nurl: 'optional - URL to open in new tab'\n\n)\n"}]}
958
+ {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.open Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.open`: Supported Method Parameters\n\nbrowser_obj1 = PWN::Plugins::TransparentBrowser.open(\n\nbrowser_type: 'optional - :firefox|:chrome|:headless|:rest|:websocket (defaults to :chrome)',\nproxy: 'optional - scheme://proxy_host:port || tor (defaults to nil)',\ndevtools: 'optional - boolean (defaults to false)',\n\n)\n"}]}
959
959
  {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.step_into Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.step_into`: Supported Method Parameters\n\nPWN::Plugins::TransparentBrowser.step_into(\n\nbrowser_obj: 'required - browser_obj returned from #open method)',\nsteps: 'optional - number of steps taken (Defaults to 1)'\n\n)\n"}]}
960
960
  {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.step_out Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.step_out`: Supported Method Parameters\n\nPWN::Plugins::TransparentBrowser.step_out(\n\nbrowser_obj: 'required - browser_obj returned from #open method)',\nsteps: 'optional - number of steps taken (Defaults to 1)'\n\n)\n"}]}
961
961
  {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.step_over Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.step_over`: Supported Method Parameters\n\nPWN::Plugins::TransparentBrowser.step_over(\n\nbrowser_obj: 'required - browser_obj returned from #open method)',\nsteps: 'optional - number of steps taken (Defaults to 1)'\n\n)\n"}]}
962
- {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.toggle_devtools Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.toggle_devtools`: Supported Method Parameters\n\nPWN::Plugins::TransparentBrowser.toggle_devtools(\n\nbrowser_obj: 'required - browser_obj returned from #open method)',\nfirst_tab: 'optional - boolean to indicate if this is the first tab (Defaults to false)',\n\n)\n"}]}
962
+ {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.toggle_devtools Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.toggle_devtools`: Supported Method Parameters\n\nPWN::Plugins::TransparentBrowser.toggle_devtools(\n\nbrowser_obj: 'required - browser_obj returned from #open method)'\n\n)\n"}]}
963
963
  {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.type_as_human Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.type_as_human`: Supported Method Parameters\n\nPWN::Plugins::TransparentBrowser.type_as_human(\n\nstring: 'required - string to type as human',\nrand_sleep_float: 'optional - float timing in between keypress (defaults to 0.09)'\n\n)\n"}]}
964
964
  {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.update_about_config Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.update_about_config`: Supported Method Parameters\n\nPWN::Plugins::TransparentBrowser.update_about_config(\n\nbrowser_obj: browser_obj1,\nkey: 'required - key to update in about:config',\nvalue: 'required - value to set for key in about:config'\n\n)\n"}]}
965
965
  {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.verify_devtools_browser Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.verify_devtools_browser`: Supported Method Parameters\n\nverify_devtools_browser(\n\nbrowser_obj: 'required - browser_obj returned from #open method',\nsupported: 'optional - array of supported browser types (defaults to [:chrome, :headless_chrome, :firefox, :headless_firefox, :headless])'\n\n)\n"}]}
966
- {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.view_dom_mutations Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.view_dom_mutations`: Supported Method Parameters\n\nconsole_resp = PWN::Plugins::TransparentBrowser.view_dom_mutations(\n\nbrowser_obj: browser_obj1,\ntab_keyword: 'optional - keyword in title or url to switch to tab (defaults to active tab per list_tabs method)',\ntarget: 'optional - target JavaScript node to observe (defaults to document.body)'\n\n)\n"}]}
966
+ {"messages":[{"role":"user","content":"PWN::Plugins::TransparentBrowser.view_dom_mutations Usage"},{"role":"assistant","content":"`PWN::Plugins::TransparentBrowser.view_dom_mutations`: Supported Method Parameters\n\nconsole_resp = PWN::Plugins::TransparentBrowser.view_dom_mutations(\n\nbrowser_obj: browser_obj1,\nindex: 'optional - index of tab to switch to (defaults to active tab)',\ntarget: 'optional - target JavaScript node to observe (defaults to document.body)'\n\n)\n"}]}
967
967
  {"messages":[{"role":"user","content":"PWN::Plugins::TwitterAPI.app_only_login Usage"},{"role":"assistant","content":"`PWN::Plugins::TwitterAPI.app_only_login`: Supported Method Parameters\n\nbearer_token = PWN::Plugins::TwitterAPI.app_only_login(\n\nconsumer_key: 'required - consumer key for app-only authentication',\nconsumer_secret: 'optional - consumer secret (will prompt if nil)'\n\n)\n"}]}
968
968
  {"messages":[{"role":"user","content":"PWN::Plugins::TwitterAPI.app_only_logout Usage"},{"role":"assistant","content":"`PWN::Plugins::TwitterAPI.app_only_logout`: Supported Method Parameters\n\nPWN::Plugins::TwitterAPI.logout(\n\nbearer_token: 'required bearer_token returned from #app_only_login method'\n\n)\n"}]}
969
969
  {"messages":[{"role":"user","content":"PWN::Plugins::TwitterAPI.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::TwitterAPI.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
@@ -9,7 +9,5 @@ else
9
9
  pwn_root="${PWN_ROOT}"
10
10
  fi
11
11
 
12
- #sudo /bin/bash --login -c "cd ${pwn_root} && ./reinstall_pwn_gemset.sh"
13
- #sudo /bin/bash --login -c "cd ${pwn_root} && ./build_pwn_gem.sh"
14
12
  export rvmsudo_secure_path=1
15
13
  rvmsudo /bin/bash --login -c "cd ${pwn_root} && git config --global --add safe.directory ${pwn_root} && ./build_pwn_gem.sh"
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.5.314
4
+ version: 0.5.316
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -127,14 +127,14 @@ dependencies:
127
127
  requirements:
128
128
  - - ">="
129
129
  - !ruby/object:Gem::Version
130
- version: 2.6.9
130
+ version: 2.7.0
131
131
  type: :development
132
132
  prerelease: false
133
133
  version_requirements: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - ">="
136
136
  - !ruby/object:Gem::Version
137
- version: 2.6.9
137
+ version: 2.7.0
138
138
  - !ruby/object:Gem::Dependency
139
139
  name: bundler-audit
140
140
  requirement: !ruby/object:Gem::Requirement
@@ -667,20 +667,6 @@ dependencies:
667
667
  - - '='
668
668
  - !ruby/object:Gem::Version
669
669
  version: 0.2.1
670
- - !ruby/object:Gem::Dependency
671
- name: openapi3_parser
672
- requirement: !ruby/object:Gem::Requirement
673
- requirements:
674
- - - '='
675
- - !ruby/object:Gem::Version
676
- version: 0.10.1
677
- type: :runtime
678
- prerelease: false
679
- version_requirements: !ruby/object:Gem::Requirement
680
- requirements:
681
- - - '='
682
- - !ruby/object:Gem::Version
683
- version: 0.10.1
684
670
  - !ruby/object:Gem::Dependency
685
671
  name: os
686
672
  requirement: !ruby/object:Gem::Requirement
@@ -883,14 +869,14 @@ dependencies:
883
869
  requirements:
884
870
  - - '='
885
871
  - !ruby/object:Gem::Version
886
- version: 6.1.1
872
+ version: 6.1.2
887
873
  type: :runtime
888
874
  prerelease: false
889
875
  version_requirements: !ruby/object:Gem::Requirement
890
876
  requirements:
891
877
  - - '='
892
878
  - !ruby/object:Gem::Version
893
- version: 6.1.1
879
+ version: 6.1.2
894
880
  - !ruby/object:Gem::Dependency
895
881
  name: rqrcode
896
882
  requirement: !ruby/object:Gem::Requirement
@@ -2365,7 +2351,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2365
2351
  - !ruby/object:Gem::Version
2366
2352
  version: '0'
2367
2353
  requirements: []
2368
- rubygems_version: 3.6.9
2354
+ rubygems_version: 3.7.0
2369
2355
  specification_version: 4
2370
2356
  summary: Automated Security Testing for CI/CD Pipelines & Beyond
2371
2357
  test_files: []