class XspearScan::CallbackXSSSelenium

Public Instance Methods

run() click to toggle source
# File lib/XSpear.rb, line 236
def run
  begin
  options = Selenium::WebDriver::Firefox::Options.new(args: ['-headless'])
  driver = Selenium::WebDriver.for(:firefox, options: options)
  if @method == "GET"
    begin
      driver.get(@url+"?"+@query)
      alert = driver.switch_to().alert()
      if alert.text.to_s == "45"
        driver.quit
        return [true, "found alert/prompt/confirm (45) in selenium!! #{@query}"]
      else
        driver.quit
        return [true, "found alert/prompt/confirm event in selenium #{@query}"]
      end
    rescue Selenium::WebDriver::Error::UnexpectedAlertOpenError => e
      driver.quit
      return [true, "found alert/prompt/confirm error base in selenium #{@query}"]
    rescue => e
      driver.quit
      return [false, "not found alert/prompt/confirm event #{@query}"]
    end
  end
rescue => e
  log('s', "Error Selenium : #{e}")
end
end