pwn 0.4.376 → 0.4.380
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 +4 -4
- data/README.md +2 -2
- data/lib/pwn/plugins/transparent_browser.rb +7 -2
- data/lib/pwn/version.rb +1 -1
- data/lib/pwn/www/app_cobalt_io.rb +1 -32
- data/lib/pwn/www/bing.rb +2 -32
- data/lib/pwn/www/bug_crowd.rb +1 -32
- data/lib/pwn/www/checkip.rb +1 -31
- data/lib/pwn/www/duckduckgo.rb +2 -32
- data/lib/pwn/www/facebook.rb +1 -32
- data/lib/pwn/www/google.rb +1 -32
- data/lib/pwn/www/hacker_one.rb +1 -32
- data/lib/pwn/www/linkedin.rb +1 -32
- data/lib/pwn/www/pandora.rb +1 -32
- data/lib/pwn/www/pastebin.rb +2 -32
- data/lib/pwn/www/paypal.rb +1 -32
- data/lib/pwn/www/synack.rb +1 -32
- data/lib/pwn/www/torch.rb +2 -34
- data/lib/pwn/www/trading_view.rb +125 -0
- data/lib/pwn/www/twitter.rb +1 -32
- data/lib/pwn/www/uber.rb +1 -32
- data/lib/pwn/www/upwork.rb +1 -32
- data/lib/pwn/www/youtube.rb +2 -32
- data/lib/pwn/www.rb +1 -0
- data/spec/lib/pwn/www/trading_view_spec.rb +15 -0
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 436c3b9f3cf8a42c77689b35c419040e57d2679b741e67c67a5c059385f90525
|
4
|
+
data.tar.gz: 63a6f54c84a7843210a946a9bb7f58ccb11aec080a392b720768683246b37d40
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2380842a421a513281358038c6d2265c96c70145af30ada7c42cd7524ca0d8f36b5b23a5ef5b67f5a802e179f5b9d1511020b258d6414e4a80f5b0f9f492bd2c
|
7
|
+
data.tar.gz: 148835d469163b4a574bd60f7a2c494cb880ecebd6a91b53078091ded9b2f9e6b7b437d30ac5baf78af6d3056ffc1babc56120befc07145a5fa0b02407771c5d
|
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.
|
39
|
+
pwn[v0.4.380]:001 >>> PWN.help
|
40
40
|
```
|
41
41
|
|
42
42
|
[](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.
|
54
|
+
pwn[v0.4.380]: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,8 +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')
|
326
|
-
|
327
|
-
|
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')
|
328
333
|
|
329
334
|
browser_obj1 = #{self}.linkout(
|
330
335
|
browser_obj: 'required - browser_obj returned from #open method)'
|
data/lib/pwn/version.rb
CHANGED
@@ -14,38 +14,7 @@ module PWN
|
|
14
14
|
# )
|
15
15
|
|
16
16
|
public_class_method def self.open(opts = {})
|
17
|
-
|
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
|
17
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
49
18
|
|
50
19
|
browser_obj.goto('https://app.cobalt.io')
|
51
20
|
|
data/lib/pwn/www/bing.rb
CHANGED
@@ -12,38 +12,8 @@ module PWN
|
|
12
12
|
# )
|
13
13
|
|
14
14
|
public_class_method def self.open(opts = {})
|
15
|
-
|
16
|
-
|
17
|
-
else
|
18
|
-
opts[:browser_type]
|
19
|
-
end
|
20
|
-
|
21
|
-
proxy = opts[:proxy].to_s unless opts[:proxy].nil?
|
22
|
-
|
23
|
-
with_tor = if opts[:with_tor]
|
24
|
-
true
|
25
|
-
else
|
26
|
-
false
|
27
|
-
end
|
28
|
-
|
29
|
-
if proxy
|
30
|
-
if with_tor
|
31
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
32
|
-
browser_type: browser_type,
|
33
|
-
proxy: proxy,
|
34
|
-
with_tor: with_tor
|
35
|
-
)
|
36
|
-
else
|
37
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
38
|
-
browser_type: browser_type,
|
39
|
-
proxy: proxy
|
40
|
-
)
|
41
|
-
end
|
42
|
-
else
|
43
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
44
|
-
browser_type: browser_type
|
45
|
-
)
|
46
|
-
end
|
15
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
16
|
+
|
47
17
|
browser_obj.goto('https://www.bing.com')
|
48
18
|
|
49
19
|
browser_obj
|
data/lib/pwn/www/bug_crowd.rb
CHANGED
@@ -14,38 +14,7 @@ module PWN
|
|
14
14
|
# )
|
15
15
|
|
16
16
|
public_class_method def self.open(opts = {})
|
17
|
-
|
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
|
17
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
49
18
|
|
50
19
|
browser_obj.goto('https://bugcrowd.com')
|
51
20
|
|
data/lib/pwn/www/checkip.rb
CHANGED
@@ -15,38 +15,8 @@ module PWN
|
|
15
15
|
# )
|
16
16
|
|
17
17
|
public_class_method def self.open(opts = {})
|
18
|
-
|
19
|
-
:firefox
|
20
|
-
else
|
21
|
-
opts[:browser_type]
|
22
|
-
end
|
18
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
23
19
|
|
24
|
-
proxy = opts[:proxy].to_s unless opts[:proxy].nil?
|
25
|
-
|
26
|
-
with_tor = if opts[:with_tor]
|
27
|
-
true
|
28
|
-
else
|
29
|
-
false
|
30
|
-
end
|
31
|
-
|
32
|
-
if proxy
|
33
|
-
if with_tor
|
34
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
35
|
-
browser_type: browser_type,
|
36
|
-
proxy: proxy,
|
37
|
-
with_tor: with_tor
|
38
|
-
)
|
39
|
-
else
|
40
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
41
|
-
browser_type: browser_type,
|
42
|
-
proxy: proxy
|
43
|
-
)
|
44
|
-
end
|
45
|
-
else
|
46
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
47
|
-
browser_type: browser_type
|
48
|
-
)
|
49
|
-
end
|
50
20
|
browser_obj.goto('http://checkip.amazonaws.com')
|
51
21
|
public_ip_address = Nokogiri::HTML.parse(browser_obj.html).xpath('//pre').text.chomp
|
52
22
|
puts "PUBLIC IP: #{public_ip_address}"
|
data/lib/pwn/www/duckduckgo.rb
CHANGED
@@ -12,38 +12,8 @@ module PWN
|
|
12
12
|
# )
|
13
13
|
|
14
14
|
public_class_method def self.open(opts = {})
|
15
|
-
|
16
|
-
|
17
|
-
else
|
18
|
-
opts[:browser_type]
|
19
|
-
end
|
20
|
-
|
21
|
-
proxy = opts[:proxy].to_s unless opts[:proxy].nil?
|
22
|
-
|
23
|
-
with_tor = if opts[:with_tor]
|
24
|
-
true
|
25
|
-
else
|
26
|
-
false
|
27
|
-
end
|
28
|
-
|
29
|
-
if proxy
|
30
|
-
if with_tor
|
31
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
32
|
-
browser_type: browser_type,
|
33
|
-
proxy: proxy,
|
34
|
-
with_tor: true
|
35
|
-
)
|
36
|
-
else
|
37
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
38
|
-
browser_type: browser_type,
|
39
|
-
proxy: proxy
|
40
|
-
)
|
41
|
-
end
|
42
|
-
else
|
43
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
44
|
-
browser_type: browser_type
|
45
|
-
)
|
46
|
-
end
|
15
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
16
|
+
|
47
17
|
browser_obj.goto('https://duckduckgo.com')
|
48
18
|
|
49
19
|
browser_obj
|
data/lib/pwn/www/facebook.rb
CHANGED
@@ -14,38 +14,7 @@ module PWN
|
|
14
14
|
# )
|
15
15
|
|
16
16
|
public_class_method def self.open(opts = {})
|
17
|
-
|
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
|
17
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
49
18
|
|
50
19
|
browser_obj.goto('https://www.facebook.com')
|
51
20
|
|
data/lib/pwn/www/google.rb
CHANGED
@@ -12,38 +12,7 @@ module PWN
|
|
12
12
|
# )
|
13
13
|
|
14
14
|
public_class_method def self.open(opts = {})
|
15
|
-
|
16
|
-
:firefox
|
17
|
-
else
|
18
|
-
opts[:browser_type]
|
19
|
-
end
|
20
|
-
|
21
|
-
proxy = opts[:proxy].to_s unless opts[:proxy].nil?
|
22
|
-
|
23
|
-
with_tor = if opts[:with_tor]
|
24
|
-
true
|
25
|
-
else
|
26
|
-
false
|
27
|
-
end
|
28
|
-
|
29
|
-
if proxy
|
30
|
-
if with_tor
|
31
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
32
|
-
browser_type: browser_type,
|
33
|
-
proxy: proxy,
|
34
|
-
with_tor: with_tor
|
35
|
-
)
|
36
|
-
else
|
37
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
38
|
-
browser_type: browser_type,
|
39
|
-
proxy: proxy
|
40
|
-
)
|
41
|
-
end
|
42
|
-
else
|
43
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
44
|
-
browser_type: browser_type
|
45
|
-
)
|
46
|
-
end
|
15
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
47
16
|
|
48
17
|
browser_obj.goto('https://www.google.com')
|
49
18
|
|
data/lib/pwn/www/hacker_one.rb
CHANGED
@@ -14,38 +14,7 @@ module PWN
|
|
14
14
|
# )
|
15
15
|
|
16
16
|
public_class_method def self.open(opts = {})
|
17
|
-
|
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
|
17
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
49
18
|
|
50
19
|
browser_obj.goto('https://www.hackerone.com')
|
51
20
|
|
data/lib/pwn/www/linkedin.rb
CHANGED
@@ -14,38 +14,7 @@ module PWN
|
|
14
14
|
# )
|
15
15
|
|
16
16
|
public_class_method def self.open(opts = {})
|
17
|
-
|
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
|
17
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
49
18
|
|
50
19
|
browser_obj.goto('https://www.linkedin.com')
|
51
20
|
|
data/lib/pwn/www/pandora.rb
CHANGED
@@ -14,38 +14,7 @@ module PWN
|
|
14
14
|
# )
|
15
15
|
|
16
16
|
public_class_method def self.open(opts = {})
|
17
|
-
|
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
|
17
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
49
18
|
|
50
19
|
browser_obj.goto('https://www.pandora.com')
|
51
20
|
|
data/lib/pwn/www/pastebin.rb
CHANGED
@@ -12,38 +12,8 @@ module PWN
|
|
12
12
|
# )
|
13
13
|
|
14
14
|
public_class_method def self.open(opts = {})
|
15
|
-
|
16
|
-
|
17
|
-
else
|
18
|
-
opts[:browser_type]
|
19
|
-
end
|
20
|
-
|
21
|
-
proxy = opts[:proxy].to_s unless opts[:proxy].nil?
|
22
|
-
|
23
|
-
with_tor = if opts[:with_tor]
|
24
|
-
true
|
25
|
-
else
|
26
|
-
false
|
27
|
-
end
|
28
|
-
|
29
|
-
if proxy
|
30
|
-
if with_tor
|
31
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
32
|
-
browser_type: browser_type,
|
33
|
-
proxy: proxy,
|
34
|
-
with_tor: with_tor
|
35
|
-
)
|
36
|
-
else
|
37
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
38
|
-
browser_type: browser_type,
|
39
|
-
proxy: proxy
|
40
|
-
)
|
41
|
-
end
|
42
|
-
else
|
43
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
44
|
-
browser_type: browser_type
|
45
|
-
)
|
46
|
-
end
|
15
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
16
|
+
|
47
17
|
browser_obj.goto('https://pastebin.com')
|
48
18
|
|
49
19
|
browser_obj
|
data/lib/pwn/www/paypal.rb
CHANGED
@@ -14,38 +14,7 @@ module PWN
|
|
14
14
|
# )
|
15
15
|
|
16
16
|
public_class_method def self.open(opts = {})
|
17
|
-
|
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
|
17
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
49
18
|
|
50
19
|
browser_obj.goto('https://www.paypal.com')
|
51
20
|
|
data/lib/pwn/www/synack.rb
CHANGED
@@ -14,38 +14,7 @@ module PWN
|
|
14
14
|
# )
|
15
15
|
|
16
16
|
public_class_method def self.open(opts = {})
|
17
|
-
|
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
|
17
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
49
18
|
|
50
19
|
browser_obj.goto('https://www.synack.com')
|
51
20
|
|
data/lib/pwn/www/torch.rb
CHANGED
@@ -12,40 +12,8 @@ module PWN
|
|
12
12
|
# )
|
13
13
|
|
14
14
|
public_class_method def self.open(opts = {})
|
15
|
-
|
16
|
-
|
17
|
-
else
|
18
|
-
opts[:browser_type]
|
19
|
-
end
|
20
|
-
|
21
|
-
proxy = opts[:proxy].to_s unless opts[:proxy].nil?
|
22
|
-
|
23
|
-
with_tor = if opts[:with_tor]
|
24
|
-
true
|
25
|
-
else
|
26
|
-
false
|
27
|
-
end
|
28
|
-
|
29
|
-
with_tor = opts[:with_tor].nil?
|
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: true
|
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
|
15
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
16
|
+
|
49
17
|
browser_obj.goto('http://www.torchtorsearch.com')
|
50
18
|
|
51
19
|
browser_obj
|
@@ -0,0 +1,125 @@
|
|
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_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
18
|
+
|
19
|
+
browser_obj.goto('https://tradingview.com')
|
20
|
+
|
21
|
+
browser_obj
|
22
|
+
rescue StandardError => e
|
23
|
+
raise e
|
24
|
+
end
|
25
|
+
|
26
|
+
# Supported Method Parameters::
|
27
|
+
# browser_obj = PWN::WWW::TradingView.login(
|
28
|
+
# browser_obj: 'required - browser_obj returned from #open method',
|
29
|
+
# username: 'required - username',
|
30
|
+
# password: 'optional - passwd (will prompt if blank)'
|
31
|
+
# )
|
32
|
+
|
33
|
+
public_class_method def self.login(opts = {})
|
34
|
+
browser_obj = opts[:browser_obj]
|
35
|
+
username = opts[:username].to_s.scrub.strip.chomp
|
36
|
+
password = opts[:password]
|
37
|
+
|
38
|
+
if password.nil?
|
39
|
+
password = PWN::Plugins::AuthenticationHelper.mask_password
|
40
|
+
else
|
41
|
+
password = opts[:password].to_s.scrub.strip.chomp
|
42
|
+
end
|
43
|
+
|
44
|
+
browser_obj.goto('https://tradingview.com')
|
45
|
+
|
46
|
+
browser_obj.button(index: 3).wait_until(&:present?).click
|
47
|
+
browser_obj.div(text: 'Sign in').wait_until(&:present?).click
|
48
|
+
browser_obj.span(text: 'Email').wait_until(&:present?).click
|
49
|
+
browser_obj.text_field(name: 'username').wait_until(&:present?).set(username)
|
50
|
+
browser_obj.text_field(name: 'password').wait_until(&:present?).set(password)
|
51
|
+
browser_obj.button(text: 'Sign in').click!
|
52
|
+
|
53
|
+
browser_obj
|
54
|
+
rescue StandardError => e
|
55
|
+
raise e
|
56
|
+
end
|
57
|
+
|
58
|
+
# Supported Method Parameters::
|
59
|
+
# browser_obj = PWN::WWW::TradingView.logout(
|
60
|
+
# browser_obj: 'required - browser_obj returned from #open method'
|
61
|
+
# )
|
62
|
+
|
63
|
+
public_class_method def self.logout(opts = {})
|
64
|
+
browser_obj = opts[:browser_obj]
|
65
|
+
browser_obj.button(index: 4).wait_until(&:present?).click
|
66
|
+
browser_obj.div(text: 'Sign Out').wait_until(&:present?).click!
|
67
|
+
|
68
|
+
browser_obj
|
69
|
+
rescue StandardError => e
|
70
|
+
raise e
|
71
|
+
end
|
72
|
+
|
73
|
+
# Supported Method Parameters::
|
74
|
+
# browser_obj = PWN::WWW::TradingView.close(
|
75
|
+
# browser_obj: 'required - browser_obj returned from #open method'
|
76
|
+
# )
|
77
|
+
|
78
|
+
public_class_method def self.close(opts = {})
|
79
|
+
browser_obj = opts[:browser_obj]
|
80
|
+
PWN::Plugins::TransparentBrowser.close(
|
81
|
+
browser_obj: browser_obj
|
82
|
+
)
|
83
|
+
rescue StandardError => e
|
84
|
+
raise e
|
85
|
+
end
|
86
|
+
|
87
|
+
# Author(s):: 0day Inc. <request.pentest@0dayinc.com>
|
88
|
+
|
89
|
+
public_class_method def self.authors
|
90
|
+
"AUTHOR(S):
|
91
|
+
0day Inc. <request.pentest@0dayinc.com>
|
92
|
+
"
|
93
|
+
end
|
94
|
+
|
95
|
+
# Display Usage for this Module
|
96
|
+
|
97
|
+
public_class_method def self.help
|
98
|
+
puts "USAGE:
|
99
|
+
browser_obj = #{self}.open(
|
100
|
+
browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
|
101
|
+
proxy: 'optional - scheme://proxy_host:port',
|
102
|
+
with_tor: 'optional - boolean (defaults to false)'
|
103
|
+
)
|
104
|
+
puts browser_obj.public_methods
|
105
|
+
|
106
|
+
browser_obj = #{self}.login(
|
107
|
+
browser_obj: 'required - browser_obj returned from #open method',
|
108
|
+
username: 'required - username',
|
109
|
+
password: 'optional - passwd (will prompt if blank),
|
110
|
+
)
|
111
|
+
|
112
|
+
browser_obj = #{self}.logout(
|
113
|
+
browser_obj: 'required - browser_obj returned from #open method'
|
114
|
+
)
|
115
|
+
|
116
|
+
#{self}.close(
|
117
|
+
browser_obj: 'required - browser_obj returned from #open method'
|
118
|
+
)
|
119
|
+
|
120
|
+
#{self}.authors
|
121
|
+
"
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
data/lib/pwn/www/twitter.rb
CHANGED
@@ -14,38 +14,7 @@ module PWN
|
|
14
14
|
# )
|
15
15
|
|
16
16
|
public_class_method def self.open(opts = {})
|
17
|
-
|
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
|
17
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
49
18
|
|
50
19
|
browser_obj.goto('https://twitter.com')
|
51
20
|
|
data/lib/pwn/www/uber.rb
CHANGED
@@ -14,38 +14,7 @@ module PWN
|
|
14
14
|
# )
|
15
15
|
|
16
16
|
public_class_method def self.open(opts = {})
|
17
|
-
|
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
|
17
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
49
18
|
|
50
19
|
browser_obj.goto('https://www.uber.com')
|
51
20
|
|
data/lib/pwn/www/upwork.rb
CHANGED
@@ -14,38 +14,7 @@ module PWN
|
|
14
14
|
# )
|
15
15
|
|
16
16
|
public_class_method def self.open(opts = {})
|
17
|
-
|
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
|
17
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
49
18
|
|
50
19
|
browser_obj.goto('https://www.upwork.com')
|
51
20
|
|
data/lib/pwn/www/youtube.rb
CHANGED
@@ -12,38 +12,8 @@ module PWN
|
|
12
12
|
# )
|
13
13
|
|
14
14
|
public_class_method def self.open(opts = {})
|
15
|
-
|
16
|
-
|
17
|
-
else
|
18
|
-
opts[:browser_type]
|
19
|
-
end
|
20
|
-
|
21
|
-
proxy = opts[:proxy].to_s unless opts[:proxy].nil?
|
22
|
-
|
23
|
-
with_tor = if opts[:with_tor]
|
24
|
-
true
|
25
|
-
else
|
26
|
-
false
|
27
|
-
end
|
28
|
-
|
29
|
-
if proxy
|
30
|
-
if with_tor
|
31
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
32
|
-
browser_type: browser_type,
|
33
|
-
proxy: proxy,
|
34
|
-
with_tor: with_tor
|
35
|
-
)
|
36
|
-
else
|
37
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
38
|
-
browser_type: browser_type,
|
39
|
-
proxy: proxy
|
40
|
-
)
|
41
|
-
end
|
42
|
-
else
|
43
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
44
|
-
browser_type: browser_type
|
45
|
-
)
|
46
|
-
end
|
15
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
16
|
+
|
47
17
|
browser_obj.goto('https://www.youtube.com')
|
48
18
|
|
49
19
|
browser_obj
|
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.
|
4
|
+
version: 0.4.380
|
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
|