pwn 0.4.367 → 0.4.368
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/version.rb +1 -1
- data/lib/pwn/www/app_cobalt_io.rb +4 -4
- data/lib/pwn/www/bing.rb +1 -1
- data/lib/pwn/www/bug_crowd.rb +3 -3
- data/lib/pwn/www/duckduckgo.rb +2 -2
- data/lib/pwn/www/facebook.rb +3 -3
- data/lib/pwn/www/google.rb +2 -2
- data/lib/pwn/www/hacker_one.rb +3 -3
- data/lib/pwn/www/linkedin.rb +3 -3
- data/lib/pwn/www/pandora.rb +3 -3
- data/lib/pwn/www/paypal.rb +7 -7
- data/lib/pwn/www/synack.rb +4 -4
- data/lib/pwn/www/torch.rb +1 -1
- data/lib/pwn/www/twitter.rb +4 -4
- data/lib/pwn/www/uber.rb +2 -2
- data/lib/pwn/www/upwork.rb +3 -3
- data/lib/pwn/www/youtube.rb +2 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 748885090d9ada36536b03ad84140ecf964bfd49e5f64c5a892d00181b1fb089
|
4
|
+
data.tar.gz: 88835d6ca48c57ad213a9a8857a1c9e366f9e611955d254a5d9471053237b4f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89af93ed6f13ab92fb21b75a4ad15c8c25d2645259281b1253ddf18b5d3b79c0fe9ed36566dfb3fa2db3b2234d8cc0ec40e48f0dd7ac43a4c530c4d2e01da61a
|
7
|
+
data.tar.gz: d8f442cfabe5e2b0a22baefc558fc2e750ce4de70680cd5cdf3dc301af1e9378ef6daad69ea44d8819303f5b25b1e2bca14ada954a7325de728749a60a797777
|
data/README.md
CHANGED
@@ -36,7 +36,7 @@ Tested on Linux, & OSX leveraging Ruby via RVM.
|
|
36
36
|
```
|
37
37
|
$ gem install pwn
|
38
38
|
$ pwn
|
39
|
-
pwn[v0.4.
|
39
|
+
pwn[v0.4.368]:001 >>> PWN.help
|
40
40
|
```
|
41
41
|
|
42
42
|
|
@@ -47,7 +47,7 @@ It's wise to update pwn often as numerous versions are released/week:
|
|
47
47
|
```
|
48
48
|
$ gem update pwn
|
49
49
|
$ pwn
|
50
|
-
pwn[v0.4.
|
50
|
+
pwn[v0.4.368]:001 >>> PWN.help
|
51
51
|
```
|
52
52
|
|
53
53
|
|
data/lib/pwn/version.rb
CHANGED
@@ -81,12 +81,12 @@ module PWN
|
|
81
81
|
# id: 'user_password' doesn't work
|
82
82
|
browser_obj.text_field(index: 10).wait_until(&:present?).set(password)
|
83
83
|
# name: 'commit' doesn't work
|
84
|
-
browser_obj.button(index: 6).
|
84
|
+
browser_obj.button(index: 6).click! # no name or id in button element
|
85
85
|
|
86
86
|
if mfa
|
87
87
|
until browser_obj.url == 'https://app.cobalt.io/dashboard'
|
88
88
|
browser_obj.text_field(id: 'code').wait_until(&:present?).set(PWN::Plugins::AuthenticationHelper.mfa(prompt: 'enter mfa token'))
|
89
|
-
browser_obj.button(name: 'commit').
|
89
|
+
browser_obj.button(name: 'commit').click!
|
90
90
|
sleep 3
|
91
91
|
end
|
92
92
|
print "\n"
|
@@ -104,8 +104,8 @@ module PWN
|
|
104
104
|
|
105
105
|
public_class_method def self.logout(opts = {})
|
106
106
|
browser_obj = opts[:browser_obj]
|
107
|
-
browser_obj.li(class: 'user-dropdown').wait_until(&:present?).click
|
108
|
-
browser_obj.link(index: 10).wait_until(&:present?).click
|
107
|
+
browser_obj.li(class: 'user-dropdown').wait_until(&:present?).click!
|
108
|
+
browser_obj.link(index: 10).wait_until(&:present?).click!
|
109
109
|
|
110
110
|
browser_obj
|
111
111
|
rescue StandardError => e
|
data/lib/pwn/www/bing.rb
CHANGED
@@ -62,7 +62,7 @@ module PWN
|
|
62
62
|
q = opts[:q].to_s
|
63
63
|
|
64
64
|
browser_obj.text_field(name: 'q').wait_until(&:present?).set(q)
|
65
|
-
browser_obj.button(id: 'sb_form_go').
|
65
|
+
browser_obj.button(id: 'sb_form_go').click!
|
66
66
|
|
67
67
|
browser_obj
|
68
68
|
rescue StandardError => e
|
data/lib/pwn/www/bug_crowd.rb
CHANGED
@@ -78,12 +78,12 @@ module PWN
|
|
78
78
|
|
79
79
|
browser_obj.text_field(id: 'user_email').wait_until(&:present?).set(username)
|
80
80
|
browser_obj.text_field(id: 'user_password').wait_until(&:present?).set(password)
|
81
|
-
browser_obj.button(name: 'button').
|
81
|
+
browser_obj.button(name: 'button').click!
|
82
82
|
|
83
83
|
if mfa
|
84
84
|
until browser_obj.url == 'https://bugcrowd.com/programs'
|
85
85
|
browser_obj.text_field(name: 'otp_attempt').wait_until(&:present?).set(PWN::Plugins::AuthenticationHelper.mfa(prompt: 'enter mfa token'))
|
86
|
-
browser_obj.button(name: 'commit').
|
86
|
+
browser_obj.button(name: 'commit').click!
|
87
87
|
sleep 3
|
88
88
|
end
|
89
89
|
print "\n"
|
@@ -102,7 +102,7 @@ module PWN
|
|
102
102
|
public_class_method def self.logout(opts = {})
|
103
103
|
browser_obj = opts[:browser_obj]
|
104
104
|
browser_obj.li(class: 'dropdown-hover').wait_until(&:present?).hover
|
105
|
-
browser_obj.link(class: 'signout_link').wait_until(&:present?).click
|
105
|
+
browser_obj.link(class: 'signout_link').wait_until(&:present?).click!
|
106
106
|
|
107
107
|
browser_obj
|
108
108
|
rescue StandardError => e
|
data/lib/pwn/www/duckduckgo.rb
CHANGED
@@ -63,9 +63,9 @@ module PWN
|
|
63
63
|
|
64
64
|
browser_obj.text_field(name: 'q').wait_until(&:present?).set(q)
|
65
65
|
if browser_obj.url == 'https://duckduckgo.com/' || browser_obj.url == 'http://3g2upl4pq6kufc4m.onion/'
|
66
|
-
browser_obj.button(id: 'search_button_homepage').
|
66
|
+
browser_obj.button(id: 'search_button_homepage').click!
|
67
67
|
else
|
68
|
-
browser_obj.button(id: 'search_button').
|
68
|
+
browser_obj.button(id: 'search_button').click!
|
69
69
|
end
|
70
70
|
|
71
71
|
browser_obj
|
data/lib/pwn/www/facebook.rb
CHANGED
@@ -76,7 +76,7 @@ module PWN
|
|
76
76
|
|
77
77
|
browser_obj.text_field(id: 'email').wait_until(&:present?).set(username)
|
78
78
|
browser_obj.text_field(id: 'pass').wait_until(&:present?).set(password)
|
79
|
-
browser_obj.button(id: 'loginbutton').
|
79
|
+
browser_obj.button(id: 'loginbutton').click!
|
80
80
|
|
81
81
|
browser_obj
|
82
82
|
rescue StandardError => e
|
@@ -90,8 +90,8 @@ module PWN
|
|
90
90
|
|
91
91
|
public_class_method def self.logout(opts = {})
|
92
92
|
browser_obj = opts[:browser_obj]
|
93
|
-
browser_obj.div(id: 'logoutMenu').wait_until(&:present?).click
|
94
|
-
browser_obj.span(text: 'Log Out', class: '_54nh').click
|
93
|
+
browser_obj.div(id: 'logoutMenu').wait_until(&:present?).click!
|
94
|
+
browser_obj.span(text: 'Log Out', class: '_54nh').click!
|
95
95
|
|
96
96
|
browser_obj
|
97
97
|
rescue StandardError => e
|
data/lib/pwn/www/google.rb
CHANGED
@@ -63,7 +63,7 @@ module PWN
|
|
63
63
|
q = opts[:q].to_s
|
64
64
|
|
65
65
|
browser_obj.text_field(name: 'q').wait_until(&:present?).set(q)
|
66
|
-
browser_obj.button(text: 'Google Search').
|
66
|
+
browser_obj.button(text: 'Google Search').click!
|
67
67
|
|
68
68
|
browser_obj
|
69
69
|
rescue StandardError => e
|
@@ -82,7 +82,7 @@ module PWN
|
|
82
82
|
q = "site:linkedin.com inurl:in intext:\"#{company}\""
|
83
83
|
|
84
84
|
browser_obj.text_field(name: 'q').wait_until(&:present?).set(q)
|
85
|
-
browser_obj.button(name: 'btnG').
|
85
|
+
browser_obj.button(name: 'btnG').click!
|
86
86
|
sleep 3 # Cough: <hack>
|
87
87
|
|
88
88
|
browser_obj
|
data/lib/pwn/www/hacker_one.rb
CHANGED
@@ -76,7 +76,7 @@ module PWN
|
|
76
76
|
|
77
77
|
browser_obj.text_field(name: 'user[email]').wait_until(&:present?).set(username)
|
78
78
|
browser_obj.text_field(name: 'user[password]').wait_until(&:present?).set(password)
|
79
|
-
browser_obj.button(name: 'commit').
|
79
|
+
browser_obj.button(name: 'commit').click!
|
80
80
|
|
81
81
|
browser_obj
|
82
82
|
rescue StandardError => e
|
@@ -90,8 +90,8 @@ module PWN
|
|
90
90
|
|
91
91
|
public_class_method def self.logout(opts = {})
|
92
92
|
browser_obj = opts[:browser_obj]
|
93
|
-
browser_obj.i(class: 'icon-arrow-closure').click
|
94
|
-
browser_obj.link(index: 16).click
|
93
|
+
browser_obj.i(class: 'icon-arrow-closure').click!
|
94
|
+
browser_obj.link(index: 16).click!
|
95
95
|
|
96
96
|
browser_obj
|
97
97
|
rescue StandardError => e
|
data/lib/pwn/www/linkedin.rb
CHANGED
@@ -76,7 +76,7 @@ module PWN
|
|
76
76
|
|
77
77
|
browser_obj.text_field(name: 'session_key').wait_until(&:present?).set(username)
|
78
78
|
browser_obj.text_field(name: 'session_password').wait_until(&:present?).set(password)
|
79
|
-
browser_obj.button(name: 'signin').
|
79
|
+
browser_obj.button(name: 'signin').click!
|
80
80
|
|
81
81
|
browser_obj
|
82
82
|
rescue StandardError => e
|
@@ -90,8 +90,8 @@ module PWN
|
|
90
90
|
|
91
91
|
public_class_method def self.logout(opts = {})
|
92
92
|
browser_obj = opts[:browser_obj]
|
93
|
-
browser_obj.button(id: 'nav-settings__dropdown-trigger').wait_until(&:present?).click
|
94
|
-
browser_obj.link(index: 14).wait_until(&:present?).click
|
93
|
+
browser_obj.button(id: 'nav-settings__dropdown-trigger').wait_until(&:present?).click!
|
94
|
+
browser_obj.link(index: 14).wait_until(&:present?).click!
|
95
95
|
|
96
96
|
browser_obj
|
97
97
|
rescue StandardError => e
|
data/lib/pwn/www/pandora.rb
CHANGED
@@ -76,7 +76,7 @@ module PWN
|
|
76
76
|
|
77
77
|
browser_obj.text_field(id: 'login_username').wait_until(&:present?).set(username)
|
78
78
|
browser_obj.text_field(id: 'login_password').wait_until(&:present?).set(password)
|
79
|
-
browser_obj.button(text: 'Log In').
|
79
|
+
browser_obj.button(text: 'Log In').click!
|
80
80
|
|
81
81
|
browser_obj
|
82
82
|
rescue StandardError => e
|
@@ -90,8 +90,8 @@ module PWN
|
|
90
90
|
|
91
91
|
public_class_method def self.logout(opts = {})
|
92
92
|
browser_obj = opts[:browser_obj]
|
93
|
-
browser_obj.img(alt: 'Account Menu').wait_until(&:present?).click
|
94
|
-
browser_obj.span(text: 'Sign Out').wait_until(&:present?).click
|
93
|
+
browser_obj.img(alt: 'Account Menu').wait_until(&:present?).click!
|
94
|
+
browser_obj.span(text: 'Sign Out').wait_until(&:present?).click!
|
95
95
|
|
96
96
|
browser_obj
|
97
97
|
rescue StandardError => e
|
data/lib/pwn/www/paypal.rb
CHANGED
@@ -92,7 +92,7 @@ module PWN
|
|
92
92
|
browser_obj.text_field(id: 'email').wait_until(&:present?).set(username)
|
93
93
|
browser_obj.text_field(id: 'password').wait_until(&:present?).set(password)
|
94
94
|
browser_obj.text_field(id: 'confirmPassword').wait_until(&:present?).set(password)
|
95
|
-
browser_obj.button(id: '_eventId_personal').wait_until(&:present?).click
|
95
|
+
browser_obj.button(id: '_eventId_personal').wait_until(&:present?).click!
|
96
96
|
browser_obj.text_field(id: 'firstName').wait_until(&:present?).set(first_name)
|
97
97
|
browser_obj.text_field(id: 'lastName').wait_until(&:present?).set(last_name)
|
98
98
|
browser_obj.text_field(id: 'address1').wait_until(&:present?).set(address)
|
@@ -100,8 +100,8 @@ module PWN
|
|
100
100
|
browser_obj.select(id: 'state').wait_until(&:present?).select_value(state)
|
101
101
|
browser_obj.text_field(id: 'postalCode').wait_until(&:present?).set(zip_code)
|
102
102
|
browser_obj.text_field(id: 'phoneNumber').wait_until(&:present?).set(mobile_phone)
|
103
|
-
browser_obj.span(index: 7).wait_until(&:present?).click # Agree to ToS
|
104
|
-
browser_obj.button(id: 'submitBtn').wait_until(&:present?).click
|
103
|
+
browser_obj.span(index: 7).wait_until(&:present?).click! # Agree to ToS
|
104
|
+
browser_obj.button(id: 'submitBtn').wait_until(&:present?).click!
|
105
105
|
|
106
106
|
puts "Confirmation email sent to: #{username}"
|
107
107
|
|
@@ -134,14 +134,14 @@ module PWN
|
|
134
134
|
|
135
135
|
browser_obj.text_field(id: 'email').wait_until(&:present?).set(username)
|
136
136
|
browser_obj.text_field(id: 'password').wait_until(&:present?).set(password)
|
137
|
-
browser_obj.button(id: 'btnLogin').
|
137
|
+
browser_obj.button(id: 'btnLogin').click!
|
138
138
|
|
139
139
|
if mfa
|
140
140
|
# Send code to SMS
|
141
|
-
browser_obj.button(id: 'btnSelectSoftToken').wait_until(&:present?).click
|
141
|
+
browser_obj.button(id: 'btnSelectSoftToken').wait_until(&:present?).click!
|
142
142
|
until browser_obj.url == 'https://www.paypal.com/myaccount/home'
|
143
143
|
browser_obj.text_field(id: 'security-code').wait_until(&:present?).set(PWN::Plugins::AuthenticationHelper.mfa(prompt: 'enter mfa token'))
|
144
|
-
browser_obj.button(id: 'btnCodeSubmit').
|
144
|
+
browser_obj.button(id: 'btnCodeSubmit').click!
|
145
145
|
sleep 3
|
146
146
|
end
|
147
147
|
print "\n"
|
@@ -159,7 +159,7 @@ module PWN
|
|
159
159
|
|
160
160
|
public_class_method def self.logout(opts = {})
|
161
161
|
browser_obj = opts[:browser_obj]
|
162
|
-
browser_obj.link(index: 13).wait_until(&:present?).click
|
162
|
+
browser_obj.link(index: 13).wait_until(&:present?).click!
|
163
163
|
|
164
164
|
browser_obj
|
165
165
|
rescue StandardError => e
|
data/lib/pwn/www/synack.rb
CHANGED
@@ -78,12 +78,12 @@ module PWN
|
|
78
78
|
|
79
79
|
browser_obj.text_field(name: 'email').wait_until(&:present?).set(username)
|
80
80
|
browser_obj.text_field(name: 'password').wait_until(&:present?).set(password)
|
81
|
-
browser_obj.button(class: 'btn').
|
81
|
+
browser_obj.button(class: 'btn').click!
|
82
82
|
|
83
83
|
if mfa
|
84
84
|
until browser_obj.url.include?('https://platform.synack.com')
|
85
85
|
browser_obj.text_field(name: 'authy_token').wait_until(&:present?).set(PWN::Plugins::AuthenticationHelper.mfa(prompt: 'enter mfa token'))
|
86
|
-
browser_obj.button(class: 'btn').
|
86
|
+
browser_obj.button(class: 'btn').click!
|
87
87
|
sleep 3
|
88
88
|
end
|
89
89
|
print "\n"
|
@@ -101,8 +101,8 @@ module PWN
|
|
101
101
|
|
102
102
|
public_class_method def self.logout(opts = {})
|
103
103
|
browser_obj = opts[:browser_obj]
|
104
|
-
browser_obj.img(class: 'navbar-avatar-img').wait_until(&:present?).click
|
105
|
-
browser_obj.button(text: 'Logout').wait_until(&:present?).click
|
104
|
+
browser_obj.img(class: 'navbar-avatar-img').wait_until(&:present?).click!
|
105
|
+
browser_obj.button(text: 'Logout').wait_until(&:present?).click!
|
106
106
|
|
107
107
|
browser_obj
|
108
108
|
rescue StandardError => e
|
data/lib/pwn/www/torch.rb
CHANGED
data/lib/pwn/www/twitter.rb
CHANGED
@@ -78,12 +78,12 @@ module PWN
|
|
78
78
|
|
79
79
|
browser_obj.text_field(index: 2).wait_until(&:present?).set(username)
|
80
80
|
browser_obj.text_field(index: 3).wait_until(&:present?).set(password)
|
81
|
-
browser_obj.button(index: 1).
|
81
|
+
browser_obj.button(index: 1).click!
|
82
82
|
|
83
83
|
if mfa
|
84
84
|
until browser_obj.url == 'https://twitter.com/' || browser_obj.url == 'https://twitter.com/home'
|
85
85
|
browser_obj.text_field(id: 'challenge_response').wait_until(&:present?).set(PWN::Plugins::AuthenticationHelper.mfa(prompt: 'enter mfa token'))
|
86
|
-
browser_obj.button(id: 'email_challenge_submit').
|
86
|
+
browser_obj.button(id: 'email_challenge_submit').click!
|
87
87
|
sleep 3
|
88
88
|
end
|
89
89
|
print "\n"
|
@@ -101,8 +101,8 @@ module PWN
|
|
101
101
|
|
102
102
|
public_class_method def self.logout(opts = {})
|
103
103
|
browser_obj = opts[:browser_obj]
|
104
|
-
browser_obj.li(id: 'user-dropdown').wait_until(&:present?).click
|
105
|
-
browser_obj.button(text: 'Log out').wait_until(&:present?).click
|
104
|
+
browser_obj.li(id: 'user-dropdown').wait_until(&:present?).click!
|
105
|
+
browser_obj.button(text: 'Log out').wait_until(&:present?).click!
|
106
106
|
|
107
107
|
browser_obj
|
108
108
|
rescue StandardError => e
|
data/lib/pwn/www/uber.rb
CHANGED
@@ -76,7 +76,7 @@ module PWN
|
|
76
76
|
|
77
77
|
browser_obj.text_field(id: 'email').wait_until(&:present?).set(username)
|
78
78
|
browser_obj.text_field(id: 'password').wait_until(&:present?).set(password)
|
79
|
-
browser_obj.button(id: 'login-submit-btn').
|
79
|
+
browser_obj.button(id: 'login-submit-btn').click!
|
80
80
|
|
81
81
|
browser_obj
|
82
82
|
rescue StandardError => e
|
@@ -91,7 +91,7 @@ module PWN
|
|
91
91
|
public_class_method def self.logout(opts = {})
|
92
92
|
browser_obj = opts[:browser_obj]
|
93
93
|
browser_obj.span(index: 5).wait_until(&:present?).hover
|
94
|
-
browser_obj.link(index: 13).wait_until(&:present?).click
|
94
|
+
browser_obj.link(index: 13).wait_until(&:present?).click!
|
95
95
|
|
96
96
|
browser_obj
|
97
97
|
rescue StandardError => e
|
data/lib/pwn/www/upwork.rb
CHANGED
@@ -76,7 +76,7 @@ module PWN
|
|
76
76
|
|
77
77
|
browser_obj.text_field(id: 'login_username').wait_until(&:present?).set(username)
|
78
78
|
browser_obj.text_field(id: 'login_password').wait_until(&:present?).set(password)
|
79
|
-
browser_obj.button(text: 'Log In').
|
79
|
+
browser_obj.button(text: 'Log In').click!
|
80
80
|
|
81
81
|
browser_obj
|
82
82
|
rescue StandardError => e
|
@@ -90,8 +90,8 @@ module PWN
|
|
90
90
|
|
91
91
|
public_class_method def self.logout(opts = {})
|
92
92
|
browser_obj = opts[:browser_obj]
|
93
|
-
browser_obj.span(class: 'organization-selector').wait_until(&:present?).click
|
94
|
-
browser_obj.link(index: 39).wait_until(&:present?).click
|
93
|
+
browser_obj.span(class: 'organization-selector').wait_until(&:present?).click!
|
94
|
+
browser_obj.link(index: 39).wait_until(&:present?).click!
|
95
95
|
|
96
96
|
browser_obj
|
97
97
|
rescue StandardError => e
|
data/lib/pwn/www/youtube.rb
CHANGED
@@ -52,7 +52,7 @@ module PWN
|
|
52
52
|
end
|
53
53
|
|
54
54
|
# Supported Method Parameters::
|
55
|
-
# browser_obj = PWN::WWW::
|
55
|
+
# browser_obj = PWN::WWW::Youtube.search(
|
56
56
|
# browser_obj: 'required - browser_obj returned from #open method',
|
57
57
|
# q: 'required - search string'
|
58
58
|
# )
|
@@ -62,7 +62,7 @@ module PWN
|
|
62
62
|
q = opts[:q].to_s
|
63
63
|
|
64
64
|
browser_obj.text_field(name: 'search_query').wait_until(&:present?).set(q)
|
65
|
-
browser_obj.button(id: 'search-btn').
|
65
|
+
browser_obj.button(id: 'search-btn').click!
|
66
66
|
|
67
67
|
browser_obj
|
68
68
|
rescue StandardError => e
|