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