Second-Order is a Scans web applications for second-order subdomain takeover by crawling the app, and collecting URLs (and other data) that match certain rules, or respond in a certain way.
Download a prebuilt binary from the releases page and unzip it.
Go version 1.17 is recommended
go install -v github.com/mhmdiaa/second-order@latest
Docker
docker pull mhmdiaa/second-order
Command line options
-target string
Target URL
-config string
Configuration file (default “config.json”)
-depth int
Depth to crawl (default 1)
-header value
Header name and value separated by a colon ‘Name: Value’ (can be used more than once)
-insecure
Accept untrusted SSL/TLS certificates
-output string
Directory to save results in (default “output”)
-threads int
Number of threads (default 10)
Configuration File
Example configuration files are in config
LogQueries
: A map of tag-attribute queries that will be searched for in crawled pages. For example, "a": "href"
means log every href
attribute of every a
tag.LogNon200Queries
: A map of tag-attribute queries that will be searched for in crawled pages, and logged only if they contain a valid URL that doesn’t return a 200
status code.LogInline
: A list of tags whose inline content (between the opening and closing tags) will be logged, like title
and script
All results are saved in JSON files that specify what and where data was found
LogQueries
are saved in attributes.json
{
“https://example.com/”: {
“input[name]”: [
“user”,
“id”,
“debug”
]
}
}
The results of LogNon200Queries
are saved in non-200-url-attributes.json
{
“https://example.com/”: {
“script[src]”: [
“https://cdn.old_abandoned_domain.com/app.js”,
]
}
}
The results of LogInline
are saved in inline.json
{
“https://example.com/”: {
“title”: [
“Example – Home”
]
},
“https://example.com/login”: {
“title”: [
“Example – login”
]
}
}
Usage Ideas
This is a list of tips and ideas (not necessarily related to second-order subdomain takeover) on what to use Second Order for.
<input>
names to build a tailored parameter bruteforcing wordlist: parameters.json.shadow-rs is a Windows kernel rootkit written in Rust, demonstrating advanced techniques for kernel manipulation…
Extract and execute a PE embedded within a PNG file using an LNK file. The…
Embark on the journey of becoming a certified Red Team professional with our definitive guide.…
This repository contains proof of concept exploits for CVE-2024-5836 and CVE-2024-6778, which are vulnerabilities within…
This took me like 4 days (+2 days for an update), but I got it…
MaLDAPtive is a framework for LDAP SearchFilter parsing, obfuscation, deobfuscation and detection. Its foundation is…