diff --git a/README.md b/README.md index a51dede..e0761b4 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ## Note - This project is discontinued. No more updates will be provided! Sorry! > But something more awesome will come soon! -Subover is a Hostile Subdomain Takeover tool originally written in python but rewritten from scratch in Golang. Since it's redesign, it has been aimed with speed and efficiency in mind. Till date, SubOver detects 30+ services which is much more than any other tool out there. The tool uses Golang concurrency and hence is very fast. It can easily detect and report potential subdomain takeovers that exist. The list of potentially hijackable services is very comprehensive and it is what makes this tool so powerful. +Subover is a Hostile Subdomain Takeover tool originally written in python but rewritten from scratch in Golang. Since it"s redesign, it has been aimed with speed and efficiency in mind. Till date, SubOver detects 30+ services which is much more than any other tool out there. The tool uses Golang concurrency and hence is very fast. It can easily detect and report potential subdomain takeovers that exist. The list of potentially hijackable services is very comprehensive and it is what makes this tool so powerful. ## Installing @@ -18,7 +18,7 @@ go get github.com/Ice3man543/SubOver ` ./SubOver -l subdomains.txt` - `-l` List of Subdomains -- `-a` Check all hosts regardless of CNAME (Time Consuming and prone to fp's) +- `-a` Check all hosts regardless of CNAME (Time Consuming and prone to fp"s) - `-t` Number of concurrent threads. (Default 10) - `-v` Show verbose output (Default False) - `-https` Force HTTPS Connection (Default HTTP) @@ -37,7 +37,7 @@ Count : 51 ## FAQ **Q:** What should my wordlist look like? -**A:** Your wordlist should include a list of subdomains you're checking and should look something like: +**A:** Your wordlist should include a list of subdomains you"re checking and should look something like: ``` backend.example.com something.someone.com @@ -46,7 +46,7 @@ apo-setup.fxc.something.com ## Your tool sucks! -Yes, you're probably correct. Feel free to: +Yes, you"re probably correct. Feel free to: - Not use it. - Show me how to do it better. @@ -87,13 +87,13 @@ Meet me on Twitter: [![Twitter](https://img.shields.io/badge/twitter-@ice3man543 ### [1.1.1] - 2018-03-20 -- Providers corrected using EdOverflow's Awesome List +- Providers corrected using EdOverflow"s Awesome List - Added Information regarding various takeovers to the tool ### [1.1.0] - 2018-03-16 - Rewritten from scratch in Golang -- This time it's damn fast because of Go Concurrency. +- This time it"s damn fast because of Go Concurrency. - The console output looks better :-) ### [1.0.0] - 2018-02-04 diff --git a/providers.json b/providers.json index fc80f19..98ffbd2 100644 --- a/providers.json +++ b/providers.json @@ -2,12 +2,12 @@ { "name":"github", "cname":["github.io", "github.map.fastly.net"], - "response":["There isn't a GitHub Pages site here.", "For root URLs (like http://example.com/) you must provide an index.html file"] + "response":["There isn"t a GitHub Pages site here.", "For root URLs (like http://example.com/) you must provide an index.html file"] }, { "name":"heroku", "cname":["herokudns.com", "herokussl.com", "herokuapp.com"], - "response":["There's nothing here, yet.", "herokucdn.com/error-pages/no-such-app.html", "No such app"] + "response":["There"s nothing here, yet.", "herokucdn.com/error-pages/no-such-app.html", "No such app"] }, { "name":"unbounce", @@ -17,7 +17,7 @@ { "name":"tumblr", "cname":["tumblr.com"], - "response":["There's nothing here.", "Whatever you were looking for doesn't currently exist at this address."] + "response":["There"s nothing here.", "Whatever you were looking for doesn"t currently exist at this address."] }, { "name":"shopify", @@ -27,12 +27,12 @@ { "name":"instapage", "cname":["pageserve.co", "secure.pageserve.co", "https://instapage.com/"], - "response":["You've Discovered A Missing Link. Our Apologies!"] + "response":["You"ve Discovered A Missing Link. Our Apologies!"] }, { "name":"desk", "cname":["desk.com"], - "response":["Please try again or try Desk.com free for 14 days.", "Sorry, We Couldn't Find That Page"] + "response":["Please try again or try Desk.com free for 14 days.", "Sorry, We Couldn"t Find That Page"] }, { "name":"tictail", @@ -122,12 +122,12 @@ { "name":"teamwork", "cname":["teamwork.com"], - "response":["Oops - We didn't find your site."] + "response":["Oops - We didn"t find your site."] }, { "name":"helpjuice", "cname":["helpjuice.com"], - "response":["We could not find what you're looking for."] + "response":["We could not find what you"re looking for."] }, { "name":"helpscout", @@ -137,7 +137,7 @@ { "name":"cargo", "cname":["cargocollective.com"], - "response":["If you're moving your domain away from Cargo you must make this configuration through your registrar's DNS control panel."] + "response":["If you"re moving your domain away from Cargo you must make this configuration through your registrar"s DNS control panel."] }, { "name":"feedpress", @@ -167,12 +167,12 @@ { "name":"webflow", "cname":["proxy.webflow.io"], - "response":["

The page you are looking for doesn't exist or has been moved.

"] + "response":["

The page you are looking for doesn"t exist or has been moved.

"] }, { "name":"kajabi", "cname":["endpoint.mykajabi.com"], - "response":["

The page you were looking for doesn't exist.

"] + "response":["

The page you were looking for doesn"t exist.

"] }, { "name":"thinkific", @@ -192,7 +192,7 @@ { "name":"aftership", "cname":["aftership.com"], - "response":["Oops.

The page you're looking for doesn't exist."] + "response":["Oops.

The page you"re looking for doesn"t exist."] }, { "name":"aha", @@ -232,7 +232,7 @@ { "name":"simplebooklet", "cname":["simplebooklet.com"], - "response":["We can't find this %v", target, errs) } } @@ -155,13 +157,13 @@ func Checker(target string) { if err != nil { return } else { - if All != true && CNAMEExists(TargetCNAME) == true { - if Verbose == true { + if All != true && CNAMEExists(TargetCNAME) { + if Verbose { log.Printf("[SELECTED] %s => %s", target, TargetCNAME) } Check(target, TargetCNAME) - } else if All == true { - if Verbose == true { + } else if All { + if Verbose { log.Printf("[ALL] %s ", target) } Check(target, "ALL") @@ -169,6 +171,20 @@ func Checker(target string) { } } +func fingerprints(file string) (data []ProviderData) { + config, err := ioutil.ReadFile(file) + if err != nil { + log.Fatalln(err) + } + + err = json.Unmarshal(config, &data) + if err != nil { + log.Fatalln(err) + } + + return data +} + func main() { ParseArguments()