module PWN::WWW::BugCrowd

def self.authors

def self.authors
st.pentest@0dayinc.com>

def self.close(opts = {})

def self.close(opts = {})
[:browser_obj]
sparentBrowser.close(
wser_obj
 => e

def self.help

def self.help
self}.open(
'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
al - scheme://proxy_host:port || tor'
self}.login(
required - browser_obj returned from #open method',
uired - username',
ional - passwd (will prompt if blank),
 - if true prompt for mfa token (defaults to false)'
self}.logout(
required - browser_obj returned from #open method'
required - browser_obj returned from #open method'

def self.login(opts = {})

def self.login(opts = {})
[:browser_obj]
sername].to_s.scrub.strip.chomp
assword]
obj[:browser]
Plugins::AuthenticationHelper.mask_password
:password].to_s.scrub.strip.chomp
s://bugcrowd.com/user/sign_in')
(id: 'user_email').wait_until(&:present?).set(username)
(id: 'user_password').wait_until(&:present?).set(password)
e: 'button').click!
l == 'https://bugcrowd.com/programs'
ield(name: 'otp_attempt').wait_until(&:present?).set(PWN::Plugins::AuthenticationHelper.mfa(prompt: 'enter mfa token'))
(name: 'commit').click!
 => e

def self.logout(opts = {})

def self.logout(opts = {})
[:browser_obj]
obj[:browser]
'dropdown-hover').wait_until(&:present?).hover
: 'signout_link').wait_until(&:present?).click!
 => e

def self.open(opts = {})

def self.open(opts = {})
:Plugins::TransparentBrowser.open(opts)
obj[:browser]
s://bugcrowd.com')
 => e