Merge pull request #1986 from beefproject/rubocop_mergev0.0.1
Rubocop mergev0.0.1
This commit is contained in:
1
Gemfile
1
Gemfile
@@ -24,6 +24,7 @@ gem 'nokogiri', '>= 1.10.8'
|
||||
gem 'rake', '>= 12.3.3'
|
||||
gem 'otr-activerecord'
|
||||
gem 'sqlite3'
|
||||
gem 'rubocop', '~> 0.88.0', require: false
|
||||
|
||||
# Geolocation support
|
||||
group :geoip do
|
||||
|
||||
@@ -12,10 +12,9 @@ Capybara.run_server = false # we need to run our own BeEF server
|
||||
require 'selenium-webdriver'
|
||||
|
||||
class BeefTest
|
||||
|
||||
def self.save_screenshot(session)
|
||||
Dir.mkdir(BEEF_TEST_DIR) unless File.directory?(BEEF_TEST_DIR)
|
||||
session.driver.browser.save_screenshot(BEEF_TEST_DIR + Time.now.strftime("%Y-%m-%d--%H-%M-%S-%N") + ".png")
|
||||
session.driver.browser.save_screenshot(BEEF_TEST_DIR + Time.now.strftime('%Y-%m-%d--%H-%M-%S-%N') + '.png')
|
||||
end
|
||||
|
||||
def self.login(session = nil)
|
||||
@@ -23,8 +22,8 @@ class BeefTest
|
||||
session.visit(ATTACK_URL)
|
||||
sleep 2.0
|
||||
session.has_content?('BeEF Authentication')
|
||||
session.fill_in 'user', :with => BEEF_USER
|
||||
session.fill_in 'pass', :with => BEEF_PASSWD
|
||||
session.fill_in 'user', with: BEEF_USER
|
||||
session.fill_in 'pass', with: BEEF_PASSWD
|
||||
session.click_button('Login')
|
||||
sleep 10.0
|
||||
|
||||
|
||||
@@ -3,26 +3,26 @@
|
||||
# Browser Exploitation Framework (BeEF) - http://beefproject.com
|
||||
# See the file 'doc/COPYING' for copying permission
|
||||
#
|
||||
BEEF_TEST_DIR = "/tmp/beef-test/"
|
||||
BEEF_TEST_DIR = '/tmp/beef-test/'.freeze
|
||||
|
||||
# General constants
|
||||
ATTACK_DOMAIN = "localhost"
|
||||
VICTIM_DOMAIN = "127.0.0.1"
|
||||
ATTACK_URL = "http://" + ATTACK_DOMAIN + ":3000/ui/panel"
|
||||
VICTIM_URL = "http://" + VICTIM_DOMAIN + ":3000/demos/basic.html"
|
||||
ATTACK_DOMAIN = 'localhost'.freeze
|
||||
VICTIM_DOMAIN = '127.0.0.1'.freeze
|
||||
ATTACK_URL = 'http://' + ATTACK_DOMAIN + ':3000/ui/panel'
|
||||
VICTIM_URL = 'http://' + VICTIM_DOMAIN + ':3000/demos/basic.html'
|
||||
|
||||
# Credentials
|
||||
BEEF_USER = ENV["TEST_BEEF_USER"] || 'beef'
|
||||
BEEF_PASSWD = ENV["TEST_BEEF_PASS"] || "beef"
|
||||
BEEF_USER = ENV['TEST_BEEF_USER'] || 'beef'
|
||||
BEEF_PASSWD = ENV['TEST_BEEF_PASS'] || 'beef'
|
||||
|
||||
# RESTful API root endpoints
|
||||
RESTAPI_HOOKS = "http://" + ATTACK_DOMAIN + ":3000/api/hooks"
|
||||
RESTAPI_LOGS = "http://" + ATTACK_DOMAIN + ":3000/api/logs"
|
||||
RESTAPI_MODULES = "http://" + ATTACK_DOMAIN + ":3000/api/modules"
|
||||
RESTAPI_NETWORK = "http://" + ATTACK_DOMAIN + ":3000/api/network"
|
||||
RESTAPI_PROXY = "http://" + ATTACK_DOMAIN + ":3000/api/proxy"
|
||||
RESTAPI_DNS = "http://" + ATTACK_DOMAIN + ":3000/api/dns"
|
||||
RESTAPI_SENG = "http://" + ATTACK_DOMAIN + ":3000/api/seng"
|
||||
RESTAPI_ADMIN = "http://" + ATTACK_DOMAIN + ":3000/api/admin"
|
||||
RESTAPI_WEBRTC = "http://" + ATTACK_DOMAIN + ":3000/api/webrtc"
|
||||
RESTAPI_REQUESTER = "http://" + ATTACK_DOMAIN + ":3000/api/requester"
|
||||
RESTAPI_HOOKS = 'http://' + ATTACK_DOMAIN + ':3000/api/hooks'
|
||||
RESTAPI_LOGS = 'http://' + ATTACK_DOMAIN + ':3000/api/logs'
|
||||
RESTAPI_MODULES = 'http://' + ATTACK_DOMAIN + ':3000/api/modules'
|
||||
RESTAPI_NETWORK = 'http://' + ATTACK_DOMAIN + ':3000/api/network'
|
||||
RESTAPI_PROXY = 'http://' + ATTACK_DOMAIN + ':3000/api/proxy'
|
||||
RESTAPI_DNS = 'http://' + ATTACK_DOMAIN + ':3000/api/dns'
|
||||
RESTAPI_SENG = 'http://' + ATTACK_DOMAIN + ':3000/api/seng'
|
||||
RESTAPI_ADMIN = 'http://' + ATTACK_DOMAIN + ':3000/api/admin'
|
||||
RESTAPI_WEBRTC = 'http://' + ATTACK_DOMAIN + ':3000/api/webrtc'
|
||||
RESTAPI_REQUESTER = 'http://' + ATTACK_DOMAIN + ':3000/api/requester'
|
||||
|
||||
@@ -5,45 +5,43 @@
|
||||
#
|
||||
# less noisy verson of BeeRestAPI found in tools.
|
||||
class BeefRestClient
|
||||
def initialize proto, host, port, user, pass
|
||||
def initialize(proto, host, port, user, pass)
|
||||
@user = user
|
||||
@pass = pass
|
||||
@url = "#{proto}://#{host}:#{port}/api/"
|
||||
@token = nil
|
||||
end
|
||||
|
||||
|
||||
def is_pass?(passwd)
|
||||
@pass == passwd
|
||||
end
|
||||
|
||||
|
||||
def auth
|
||||
begin
|
||||
response = RestClient.post "#{@url}admin/login",
|
||||
{ 'username' => "#{@user}",
|
||||
'password' => "#{@pass}" }.to_json,
|
||||
:content_type => :json,
|
||||
:accept => :json
|
||||
{ 'username': "#{@user}",
|
||||
'password': "#{@pass}" }.to_json,
|
||||
content_type: :json,
|
||||
accept: :json
|
||||
result = JSON.parse(response.body)
|
||||
@token = result['token']
|
||||
{:success => result['success'], :payload => result, :token => @token}
|
||||
{ success: result['success'], payload: result, token: @token }
|
||||
rescue => e
|
||||
{:success => false, :payload => e.message}
|
||||
{ success: false, payload: e.message }
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def version
|
||||
return {:success => false, :payload => 'no token'} if @token.nil?
|
||||
return { success: false, payload: 'no token' } if @token.nil?
|
||||
|
||||
begin
|
||||
response = RestClient.get "#{@url}server/version", {:params => {:token => @token}}
|
||||
response = RestClient.get "#{@url}server/version", { params: { token: @token } }
|
||||
result = JSON.parse(response.body)
|
||||
|
||||
{:success => result['success'], :payload => result}
|
||||
{ success: result['success'], payload: result }
|
||||
rescue => e
|
||||
print_error "Could not retrieve BeEF version: #{e.message}"
|
||||
{:success => false, :payload => e.message}
|
||||
{ success: false, payload: e.message }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user