Class: Snackhack2::Subdomains2

Inherits:
Object
  • Object
show all
Defined in:
lib/snackhack2/subdomains2.rb

Instance Method Summary collapse

Constructor Details

#initialize(site) ⇒ Subdomains2

Returns a new instance of Subdomains2.



6
7
8
9
# File 'lib/snackhack2/subdomains2.rb', line 6

def initialize(site)
  @site = site
  @urls = []
end

Instance Method Details

#fetch(url) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/snackhack2/subdomains2.rb', line 28

def fetch(url)
  Sync do |task|
    task.with_timeout(2) do
      internet = Async::HTTP::Internet.new
      m = internet.get(url, { 'user-agent' => Snackhack2::UA })
      @urls << url if (m.status == 200) || (m.status == 301)
      m.read
    end
  end
rescue StandardError => e
  puts e
end

#runObject



19
20
21
22
23
24
25
26
# File 'lib/snackhack2/subdomains2.rb', line 19

def run
  File.readlines(wordlist).each do |a|
    url = "https://#{a.strip}.#{@site.gsub('https://', '')}"
    fetch(url)
    puts url
  end
  save
end

#saveObject



15
16
17
# File 'lib/snackhack2/subdomains2.rb', line 15

def save
  Snackhack2.file_save(@site, 'subdomain_brute2', @urls.join("\n"))
end

#wordlistObject



11
12
13
# File 'lib/snackhack2/subdomains2.rb', line 11

def wordlist
  File.join(__dir__, 'lists', 'subdomains.txt')
end