Fix broken link, sorting source, and fix bufferover
parent
cb6fbbb59f
commit
0f75701e65
|
@ -109,7 +109,7 @@ go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
|
|||
|
||||
Subfinder will work after using the installation instructions however to configure Subfinder to work with certain services, you will need to have setup API keys. The following services do not work without an API key:
|
||||
|
||||
[Binaryedge](https://binaryedge.io), [C99](https://api.c99.nl/), [Certspotter](https://sslmate.com/certspotter/api/), [Chinaz](http://my.chinaz.com/ChinazAPI/DataCenter/MyDataApi), [Censys](https://censys.io), [Chaos](https://chaos.projectdiscovery.io), [DnsDB](https://api.dnsdb.info), [Fofa](https://fofa.so/static_pages/api_help), [Github](https://github.com), [Intelx](https://intelx.io), [Passivetotal](http://passivetotal.org), [Robtex](https://www.robtex.com/api/), [SecurityTrails](http://securitytrails.com), [Shodan](https://shodan.io), [Threatbook](https://x.threatbook.cn/en), [Virustotal](https://www.virustotal.com), [Zoomeye](https://www.zoomeye.org)
|
||||
[Binaryedge](https://binaryedge.io), [C99](https://api.c99.nl/), [Certspotter](https://sslmate.com/certspotter/api/), [Chinaz](http://my.chinaz.com/ChinazAPI/DataCenter/MyDataApi), [Censys](https://censys.io), [Chaos](https://chaos.projectdiscovery.io), [DnsDB](https://api.dnsdb.info), [Fofa](https://fofa.info/static_pages/api_help), [Github](https://github.com), [Intelx](https://intelx.io), [Passivetotal](http://passivetotal.org), [Robtex](https://www.robtex.com/api/), [SecurityTrails](http://securitytrails.com), [Shodan](https://shodan.io), [Threatbook](https://x.threatbook.cn/en), [Virustotal](https://www.virustotal.com), [Zoomeye](https://www.zoomeye.org)
|
||||
|
||||
These values are stored in the `$HOME/.config/subfinder/provider-config.yaml` file which will be created when you run the tool for the first time. The configuration file uses the YAML format. Multiple API keys can be specified for each of these services from which one of them will be used for enumeration.
|
||||
|
||||
|
|
|
@ -51,6 +51,8 @@ var DefaultSources = []string{
|
|||
"chinaz",
|
||||
"crtsh",
|
||||
"dnsdumpster",
|
||||
"fofa",
|
||||
"fullhunt",
|
||||
"hackertarget",
|
||||
"intelx",
|
||||
"passivetotal",
|
||||
|
@ -62,8 +64,6 @@ var DefaultSources = []string{
|
|||
"threatcrowd",
|
||||
"threatminer",
|
||||
"virustotal",
|
||||
"fofa",
|
||||
"fullhunt",
|
||||
}
|
||||
|
||||
// DefaultRecursiveSources contains list of default recursive sources
|
||||
|
@ -97,6 +97,8 @@ var DefaultAllSources = []string{
|
|||
"crtsh",
|
||||
"dnsdumpster",
|
||||
"dnsdb",
|
||||
"fofa",
|
||||
"fullhunt",
|
||||
"github",
|
||||
"hackertarget",
|
||||
"intelx",
|
||||
|
@ -116,8 +118,6 @@ var DefaultAllSources = []string{
|
|||
"waybackarchive",
|
||||
"zoomeye",
|
||||
"zoomeyeapi",
|
||||
"fofa",
|
||||
"fullhunt",
|
||||
}
|
||||
|
||||
// Agent is a struct for running passive subdomain enumeration
|
||||
|
|
|
@ -23,6 +23,8 @@ type Providers struct {
|
|||
Chaos []string `yaml:"chaos"`
|
||||
Chinaz []string `yaml:"chinaz"`
|
||||
DNSDB []string `yaml:"dnsdb"`
|
||||
Fofa []string `yaml:"fofa"`
|
||||
FullHunt []string `json:"fullhunt"`
|
||||
GitHub []string `yaml:"github"`
|
||||
IntelX []string `yaml:"intelx"`
|
||||
PassiveTotal []string `yaml:"passivetotal"`
|
||||
|
@ -34,8 +36,6 @@ type Providers struct {
|
|||
Virustotal []string `yaml:"virustotal"`
|
||||
ZoomEye []string `yaml:"zoomeye"`
|
||||
ZoomEyeApi []string `yaml:"zoomeyeapi"`
|
||||
Fofa []string `yaml:"fofa"`
|
||||
FullHunt []string `json:"fullhunt"`
|
||||
}
|
||||
|
||||
// GetConfigDirectory gets the subfinder config directory for a user
|
||||
|
|
|
@ -30,14 +30,10 @@ func (s *Source) Run(ctx context.Context, domain string, session *subscraping.Se
|
|||
go func() {
|
||||
defer close(results)
|
||||
|
||||
// DNS data does not rely on an API key.
|
||||
s.getData(ctx, fmt.Sprintf("https://dns.bufferover.run/dns?q=.%s", domain), "", session, results)
|
||||
|
||||
if session.Keys.Bufferover == "" {
|
||||
return
|
||||
}
|
||||
|
||||
// TLS data relies on an API key.
|
||||
s.getData(ctx, fmt.Sprintf("https://tls.bufferover.run/dns?q=.%s", domain), session.Keys.Bufferover, session, results)
|
||||
}()
|
||||
|
||||
|
|
|
@ -48,6 +48,9 @@ type Keys struct {
|
|||
Chaos string `json:"chaos"`
|
||||
Chinaz string `json:"chinaz"`
|
||||
DNSDB string `json:"dnsdb"`
|
||||
FofaUsername string `json:"fofa_username"`
|
||||
FofaSecret string `json:"fofa_secret"`
|
||||
FullHunt string `json:"fullhunt"`
|
||||
GitHub []string `json:"github"`
|
||||
IntelXHost string `json:"intelXHost"`
|
||||
IntelXKey string `json:"intelXKey"`
|
||||
|
@ -62,9 +65,6 @@ type Keys struct {
|
|||
ZoomEyeUsername string `json:"zoomeye_username"`
|
||||
ZoomEyePassword string `json:"zoomeye_password"`
|
||||
ZoomEyeKey string `json:"zoomeye_key"`
|
||||
FofaUsername string `json:"fofa_username"`
|
||||
FofaSecret string `json:"fofa_secret"`
|
||||
FullHunt string `json:"fullhunt"`
|
||||
}
|
||||
|
||||
// Result is a result structure returned by a source
|
||||
|
|
Loading…
Reference in New Issue