pwn 0.4.377 → 0.4.378

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