Second Order:一款功能強(qiáng)大的子域名接管漏洞安全掃描工具
關(guān)于Second Order
Second Order是一款功能強(qiáng)大的子域名接管漏洞安全掃描工具,該工具可以通過網(wǎng)絡(luò)爬蟲爬取App,并收集匹配特定規(guī)則或以特定形式響應(yīng)數(shù)據(jù)的URL地址以及其他數(shù)據(jù),以期幫助廣大研究人員掃描Web應(yīng)用程序并發(fā)現(xiàn)其中潛在的二級(jí)子域名接管問題。
工具安裝
(1) 直接使用
廣大研究人員可以直接從該項(xiàng)目的【??Releases頁面??】下載預(yù)構(gòu)建好的工具代碼,然后解壓之后便可直接使用。
(2) 源碼安裝
該工具基于Go語言開發(fā),因此廣大研究人員在使用該工具之前還需要安裝并配置好Go語言環(huán)境,我們建議使用Go v1.17版本。安裝命令如下:
go install -v github.com/mhmdiaa/second-order@latest
(3) Docker安裝
docker pull mhmdiaa/second-order
工具使用
(1) 命令行選項(xiàng)
-target string
設(shè)置目標(biāo)URL地址
-config string
配置文件 (默認(rèn)為"config.json")
-depth int
爬取深度 (默認(rèn)為1)
-header value
Header名稱和值,中間用分號(hào)隔開,例如'Name: Value'
-insecure
接受不受信任的SSL /TLS證書
-output string
存儲(chǔ)輸出結(jié)果的目錄 (默認(rèn)為"output")
-threads int
運(yùn)行線程數(shù)量 (默認(rèn)為10)
(2) 配置文件
該工具已在項(xiàng)目的config目錄中提供了參考的配置文件樣例:
- LogQueries:該文件設(shè)置的是工具在爬取頁面中需搜索的“標(biāo)簽”-“屬性”的映射。比如說,“a”:“href”代表的是工具將記錄每個(gè)a標(biāo)簽的每個(gè)href屬性。
- LogNon200Queries:該文件設(shè)置的是工具在爬取頁面中需搜索的“標(biāo)簽”-“屬性”的映射,并只會(huì)記錄沒有返回“200”狀態(tài)碼的有效URL地址。
- LogInline:需要記錄內(nèi)部內(nèi)容的標(biāo)簽立標(biāo),比如說“title”和“script”等等。
數(shù)據(jù)輸出
該工具所有的掃描結(jié)果都將存儲(chǔ)在JSON文件中,我們可以指定需要存儲(chǔ)的具體數(shù)據(jù)以及位置。
LogQueries的輸出結(jié)果存儲(chǔ)在attributes.json中:
{
"https://example.com/": {
"input[name]": [
"user",
"id",
"debug"
]
}
}
LogNon200Queries的輸出結(jié)果存儲(chǔ)在non-200-url-attributes.json中:
{
"https://example.com/": {
"script[src]": [
"https://cdn.old_abandoned_domain.com/app.js",
]
}
}
LogInline的輸出結(jié)果存儲(chǔ)在inline.json中:
{
"https://example.com/": {
"title": [
"Example - Home"
]
},
"https://example.com/login": {
"title": [
"Example - login"
]
}
}
工具使用建議
- 檢測二級(jí)子域名接管:takeover.json;
- 收集標(biāo)簽內(nèi)容以及導(dǎo)入的JS代碼:javascript.json;
- 查找目標(biāo)主機(jī)托管的靜態(tài)文件:cdn.json;
- 收集的name屬性并構(gòu)建定制的暴力破解字典參數(shù):parameters.json;
項(xiàng)目地址
Second Order:【??GitHub傳送門??】