Class: Snackhack2::Subdomains2
- Inherits:
-
Object
- Object
- Snackhack2::Subdomains2
- Defined in:
- lib/snackhack2/subdomains2.rb
Instance Method Summary collapse
- #fetch(url) ⇒ Object
-
#initialize(site) ⇒ Subdomains2
constructor
A new instance of Subdomains2.
- #run ⇒ Object
- #save ⇒ Object
- #wordlist ⇒ Object
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 |
#run ⇒ Object
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 |
#save ⇒ Object
15 16 17 |
# File 'lib/snackhack2/subdomains2.rb', line 15 def save Snackhack2.file_save(@site, 'subdomain_brute2', @urls.join("\n")) end |
#wordlist ⇒ Object
11 12 13 |
# File 'lib/snackhack2/subdomains2.rb', line 11 def wordlist File.join(__dir__, 'lists', 'subdomains.txt') end |