Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wpscanteam
GitHub Repository: wpscanteam/wpscan
Path: blob/master/lib/wpscan.rb
485 views
1
# frozen_string_literal: true
2
3
# Gems
4
# Believe it or not, active_support MUST be the first one,
5
# otherwise encoding issues can happen when using JSON format.
6
# Not kidding.
7
require 'active_support/all'
8
require 'cms_scanner'
9
require 'yajl/json_gem'
10
require 'addressable/uri'
11
# Standard Lib
12
require 'uri'
13
require 'time'
14
require 'readline'
15
require 'securerandom'
16
require 'resolv'
17
# Monkey Patches/Fixes/Override
18
require 'wpscan/typhoeus/response' # Adds a from_vuln_api? method
19
# Custom Libs
20
require 'wpscan/helper'
21
require 'wpscan/db'
22
require 'wpscan/version'
23
require 'wpscan/errors'
24
require 'wpscan/parsed_cli'
25
require 'wpscan/browser'
26
require 'wpscan/target'
27
require 'wpscan/finders'
28
require 'wpscan/controller'
29
require 'wpscan/controllers'
30
require 'wpscan/references'
31
require 'wpscan/vulnerable'
32
require 'wpscan/vulnerability'
33
34
Encoding.default_external = Encoding::UTF_8
35
36
# WPScan
37
module WPScan
38
include CMSScanner
39
40
APP_DIR = Pathname.new(__FILE__).dirname.join('..', 'app').expand_path
41
DB_DIR = Pathname.new(Dir.home).join('.wpscan', 'db')
42
43
Typhoeus.on_complete do |response|
44
next if response.cached? || !response.from_vuln_api?
45
46
self.api_requests += 1
47
end
48
49
# Override, otherwise it would be returned as 'wp_scan'
50
#
51
# @return [ String ]
52
def self.app_name
53
'wpscan'
54
end
55
56
# @return [ Integer ]
57
def self.api_requests
58
@@api_requests ||= 0
59
end
60
61
# @param [ Integer ] value
62
def self.api_requests=(value)
63
@@api_requests = value
64
end
65
end
66
67
require "#{WPScan::APP_DIR}/app"
68
69