pwn 0.4.377 → 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: de165b3f5248b720a1a3e2a5e809c389555380dede379064795691c8b15ba3a5
4
- data.tar.gz: 0e96053771f9d550cf8013898bc92a3baf27244264993456de15eebd3ac64303
3
+ metadata.gz: 867a68e03c3ced62206c7db02289bc66f94482025e064d5eb9bbebd78aa71a00
4
+ data.tar.gz: 42bd36e05c0b9382be0cffd67e52397a600170d32cde2d09159721ccec4c266f
5
5
  SHA512:
6
- metadata.gz: 116246eb9340219e85b320371592c6a9ee1f7eeb7a72b4021bd66f044e81b723336c5ceb9a68a71f3aa780625cd3fdb027515c77a58484e72bd2da6bbb3cbc05
7
- data.tar.gz: d3f9f4091560ac55f5c3a25d02ffecf520d874bd5f968613418699cca2aaf5add4239d33315e7da924d7183720d508235ac7db276d35ff208a185b257182e548
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.377]: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.377]:001 >>> PWN.help
54
+ pwn[v0.4.378]:001 >>> PWN.help
55
55
  ```
56
56
 
57
57
 
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.377'
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.377
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