pwn 0.4.367 → 0.4.368
Sign up to get free protection for your applications and to get access to all the features.
- 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
|