File: subdomains.rb

package info (click to toggle)
whatweb 0.4.8~git20120606-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 7,956 kB
  • sloc: ruby: 53,738; sh: 577; makefile: 34
file content (37 lines) | stat: -rw-r--r-- 1,066 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
##
# This file is part of WhatWeb and may be subject to
# redistribution and commercial restrictions. Please see the WhatWeb
# web site for more information on licensing and terms of use.
# http://www.morningstarsecurity.com/research/whatweb
##
Plugin.define "Subdomains" do
author "Brendan Coles <bcoles@gmail.com>" # 2010-10-18
version "0.1"
description "This plugin finds and extracts subdomains from the href and src parameters of any HTML elements it finds."

# Examples #
examples %w|
morningstarsecurity.com
somethingawful.com
wordpress.com
phpbb.com
mozilla.org
4chan.org
|

# Passive #
def passive
	m=[]

	# Extract subdomains
	if @body =~ /<[^>]+[href|src][\s]*=[\s]*[\'|\"]?http:\/\/([^\/^\'^\"^\s^>]+)\.#{Regexp.escape(@base_uri.to_s.gsub("http://www.", "").gsub("http://", "").split('/')[0])}/i
		string=@body.scan(/<[^>]+[href|src]+[\s]*=[\s]*[\'|\"]?http:\/\/([^\/^\'^\"^\s^>]+)\.#{Regexp.escape(@base_uri.to_s.gsub("http://www.", "").gsub("http://", "").split('/')[0])}/i)
		m << { :string=>string.uniq }
	end

	# Return passive matches
	m
end

end