pwn 0.4.375 → 0.4.378

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: c38711f664a3966706ea0450cad44e839d36b8c83bec8c41bd46d755a4876948
4
- data.tar.gz: a56e29d8d291a67f08ffc80a96c79515657df9f06291b1ced706a816d999ed78
3
+ metadata.gz: 867a68e03c3ced62206c7db02289bc66f94482025e064d5eb9bbebd78aa71a00
4
+ data.tar.gz: 42bd36e05c0b9382be0cffd67e52397a600170d32cde2d09159721ccec4c266f
5
5
  SHA512:
6
- metadata.gz: c19c86d6dd87a0ab82118e1c37c50ed9abd2d4fb9404de744b4449967a8744b4a5f72da701b9ba45488795d0ff534879eadad9c53967956000b1c7af6231db36
7
- data.tar.gz: 13b6730bb69df9e18d320acf631f3a85d98f21954a6f6658cdb6b17421c80e41b8bfe4b4580bfa687e0792aca15d85054dc24a4da2fac6c3f1b8c71783861672
6
+ metadata.gz: 02bfbcd599951759d8a054f6c3bc38b5eacd2b1442153de236b47cacd03bca7152c89a0b164d4a0c5e34c00395c658ed6de2b8c8ef1faaf217fb9bf9a42bf509
7
+ data.tar.gz: b41fdd1858885986f9255f0c8a87d5d82985b5ee89bb43af540775b7541c64b8e6922fb1baa8abc14c19f057248a8897d5c348393fc2441cd1311cbb4448de30
data/README.md CHANGED
@@ -36,7 +36,7 @@ $ rvm list gemsets
36
36
  $ rvm use ruby-<VERSION>@pwn
37
37
  $ gem install --verbose pwn
38
38
  $ pwn
39
- pwn[v0.4.375]:001 >>> PWN.help
39
+ pwn[v0.4.378]:001 >>> PWN.help
40
40
  ```
41
41
 
42
42
  [![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](https://youtu.be/G7iLUY4FzsI)
@@ -51,7 +51,7 @@ $ rvm use ruby-<VERSION>@pwn
51
51
  $ gem uninstall --all --executables pwn
52
52
  $ gem install --verbose pwn
53
53
  $ pwn
54
- pwn[v0.4.375]:001 >>> PWN.help
54
+ pwn[v0.4.378]:001 >>> PWN.help
55
55
  ```
56
56
 
57
57
 
@@ -315,6 +315,9 @@ module PWN
315
315
  with_devtools: 'optional - boolean (defaults to false)'
316
316
  )
317
317
  puts browser_obj1.public_methods
318
+ * Only works w/ Chrome
319
+ * All DevTools Commands can be found here:
320
+ * https://chromedevtools.github.io/devtools-protocol/
318
321
  devtools = browser_obj1.driver.devtools
319
322
  puts devtools.public_methods
320
323
  puts devtools.instance_variables
@@ -323,6 +326,10 @@ module PWN
323
326
  devtools.send_cmd('Tracing.requestMemoryDump')
324
327
  devtools.send_cmd('Tracing.end')
325
328
  puts devtools.instance_variable_get('@messages')
329
+ devtools.send_cmd('Network.enable')
330
+ last_ws_resp = devtools.instance_variable_get('@messages').last if devtools.instance_variable_get('@messages')['method'] == 'Network.webSocketFrameReceived'
331
+ puts last_ws_resp
332
+ devtools.send_cmd('Network.disable')
326
333
 
327
334
  browser_obj1 = #{self}.linkout(
328
335
  browser_obj: 'required - browser_obj returned from #open method)'
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.375'
4
+ VERSION = '0.4.378'
5
5
  end
@@ -0,0 +1,156 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'yaml'
4
+
5
+ module PWN
6
+ module WWW
7
+ # This plugin supports tradingview.com actions.
8
+ module TradingView
9
+ # Supported Method Parameters::
10
+ # browser_obj = PWN::WWW::TradingView.open(
11
+ # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
12
+ # proxy: 'optional - scheme://proxy_host:port',
13
+ # with_tor: 'optional - boolean (defaults to false)'
14
+ # )
15
+
16
+ public_class_method def self.open(opts = {})
17
+ browser_type = if opts[:browser_type].nil?
18
+ :firefox
19
+ else
20
+ opts[:browser_type]
21
+ end
22
+
23
+ proxy = opts[:proxy].to_s unless opts[:proxy].nil?
24
+
25
+ with_tor = if opts[:with_tor]
26
+ true
27
+ else
28
+ false
29
+ end
30
+
31
+ if proxy
32
+ if with_tor
33
+ browser_obj = PWN::Plugins::TransparentBrowser.open(
34
+ browser_type: browser_type,
35
+ proxy: proxy,
36
+ with_tor: with_tor
37
+ )
38
+ else
39
+ browser_obj = PWN::Plugins::TransparentBrowser.open(
40
+ browser_type: browser_type,
41
+ proxy: proxy
42
+ )
43
+ end
44
+ else
45
+ browser_obj = PWN::Plugins::TransparentBrowser.open(
46
+ browser_type: browser_type
47
+ )
48
+ end
49
+
50
+ browser_obj.goto('https://tradingview.com')
51
+
52
+ browser_obj
53
+ rescue StandardError => e
54
+ raise e
55
+ end
56
+
57
+ # Supported Method Parameters::
58
+ # browser_obj = PWN::WWW::TradingView.login(
59
+ # browser_obj: 'required - browser_obj returned from #open method',
60
+ # username: 'required - username',
61
+ # password: 'optional - passwd (will prompt if blank)'
62
+ # )
63
+
64
+ public_class_method def self.login(opts = {})
65
+ browser_obj = opts[:browser_obj]
66
+ username = opts[:username].to_s.scrub.strip.chomp
67
+ password = opts[:password]
68
+
69
+ if password.nil?
70
+ password = PWN::Plugins::AuthenticationHelper.mask_password
71
+ else
72
+ password = opts[:password].to_s.scrub.strip.chomp
73
+ end
74
+
75
+ browser_obj.goto('https://tradingview.com')
76
+
77
+ browser_obj.button(index: 3).wait_until(&:present?).click
78
+ browser_obj.div(text: 'Sign in').wait_until(&:present?).click
79
+ browser_obj.span(text: 'Email').wait_until(&:present?).click
80
+ browser_obj.text_field(name: 'username').wait_until(&:present?).set(username)
81
+ browser_obj.text_field(name: 'password').wait_until(&:present?).set(password)
82
+ browser_obj.button(text: 'Sign in').click!
83
+
84
+ browser_obj
85
+ rescue StandardError => e
86
+ raise e
87
+ end
88
+
89
+ # Supported Method Parameters::
90
+ # browser_obj = PWN::WWW::TradingView.logout(
91
+ # browser_obj: 'required - browser_obj returned from #open method'
92
+ # )
93
+
94
+ public_class_method def self.logout(opts = {})
95
+ browser_obj = opts[:browser_obj]
96
+ browser_obj.button(index: 4).wait_until(&:present?).click
97
+ browser_obj.div(text: 'Sign Out').wait_until(&:present?).click!
98
+
99
+ browser_obj
100
+ rescue StandardError => e
101
+ raise e
102
+ end
103
+
104
+ # Supported Method Parameters::
105
+ # browser_obj = PWN::WWW::TradingView.close(
106
+ # browser_obj: 'required - browser_obj returned from #open method'
107
+ # )
108
+
109
+ public_class_method def self.close(opts = {})
110
+ browser_obj = opts[:browser_obj]
111
+ PWN::Plugins::TransparentBrowser.close(
112
+ browser_obj: browser_obj
113
+ )
114
+ rescue StandardError => e
115
+ raise e
116
+ end
117
+
118
+ # Author(s):: 0day Inc. <request.pentest@0dayinc.com>
119
+
120
+ public_class_method def self.authors
121
+ "AUTHOR(S):
122
+ 0day Inc. <request.pentest@0dayinc.com>
123
+ "
124
+ end
125
+
126
+ # Display Usage for this Module
127
+
128
+ public_class_method def self.help
129
+ puts "USAGE:
130
+ browser_obj = #{self}.open(
131
+ browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
132
+ proxy: 'optional - scheme://proxy_host:port',
133
+ with_tor: 'optional - boolean (defaults to false)'
134
+ )
135
+ puts browser_obj.public_methods
136
+
137
+ browser_obj = #{self}.login(
138
+ browser_obj: 'required - browser_obj returned from #open method',
139
+ username: 'required - username',
140
+ password: 'optional - passwd (will prompt if blank),
141
+ )
142
+
143
+ browser_obj = #{self}.logout(
144
+ browser_obj: 'required - browser_obj returned from #open method'
145
+ )
146
+
147
+ #{self}.close(
148
+ browser_obj: 'required - browser_obj returned from #open method'
149
+ )
150
+
151
+ #{self}.authors
152
+ "
153
+ end
154
+ end
155
+ end
156
+ end
data/lib/pwn/www.rb CHANGED
@@ -19,6 +19,7 @@ module PWN
19
19
  autoload :Paypal, 'pwn/www/paypal'
20
20
  autoload :Synack, 'pwn/www/synack'
21
21
  autoload :Torch, 'pwn/www/torch'
22
+ autoload :TradingView, 'pwn/www/trading_view'
22
23
  autoload :Twitter, 'pwn/www/twitter'
23
24
  autoload :Uber, 'pwn/www/uber'
24
25
  autoload :Upwork, 'pwn/www/upwork'
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe PWN::WWW::TradingView do
6
+ it 'should display information for authors' do
7
+ authors_response = PWN::WWW::TradingView
8
+ expect(authors_response).to respond_to :authors
9
+ end
10
+
11
+ it 'should display information for existing help method' do
12
+ help_response = PWN::WWW::TradingView
13
+ expect(help_response).to respond_to :help
14
+ end
15
+ 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.375
4
+ version: 0.4.378
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -1549,6 +1549,7 @@ files:
1549
1549
  - lib/pwn/www/paypal.rb
1550
1550
  - lib/pwn/www/synack.rb
1551
1551
  - lib/pwn/www/torch.rb
1552
+ - lib/pwn/www/trading_view.rb
1552
1553
  - lib/pwn/www/twitter.rb
1553
1554
  - lib/pwn/www/uber.rb
1554
1555
  - lib/pwn/www/upwork.rb
@@ -1832,6 +1833,7 @@ files:
1832
1833
  - spec/lib/pwn/www/paypal_spec.rb
1833
1834
  - spec/lib/pwn/www/synack_spec.rb
1834
1835
  - spec/lib/pwn/www/torch_spec.rb
1836
+ - spec/lib/pwn/www/trading_view_spec.rb
1835
1837
  - spec/lib/pwn/www/twitter_spec.rb
1836
1838
  - spec/lib/pwn/www/uber_spec.rb
1837
1839
  - spec/lib/pwn/www/upwork_spec.rb
@@ -2091,6 +2093,7 @@ test_files:
2091
2093
  - spec/lib/pwn/www/paypal_spec.rb
2092
2094
  - spec/lib/pwn/www/synack_spec.rb
2093
2095
  - spec/lib/pwn/www/torch_spec.rb
2096
+ - spec/lib/pwn/www/trading_view_spec.rb
2094
2097
  - spec/lib/pwn/www/twitter_spec.rb
2095
2098
  - spec/lib/pwn/www/uber_spec.rb
2096
2099
  - spec/lib/pwn/www/upwork_spec.rb