命令
使用前请安装如下程序,kali中请指定httpx位置(例如:/root/Desktop/httpx)。
assetfinder
httpx
rush
assetfinder fitbit.com | httpx -threads 300 -follow-redirects -silent | rush -j200 'curl -m5 -s -I -H "Origin: evil.com" {} | [[ $(grep -c "evil.com") -gt 0 ]] && printf "\n\033[0;32m[VUL TO CORS] \033[0m{}"' 2>/dev/null
这个命令的目的是:
- 查找
fitbit.com
及其子域名。 - 使用
httpx
检查这些子域名是否存活。 - 对每个存活的子域名执行一个带有伪造
Origin
请求头的curl
请求,检查是否存在 CORS 漏洞。 - 如果发现 CORS 漏洞,输出相关子域名并标记为易受 CORS 攻击。
截图
参数解释
1. assetfinder fitbit.com
assetfinder
是一个工具,用于查找与指定域名(在这里是fitbit.com
)相关的子域名。它通过各种公开数据源来发现这些子域名。- 这部分命令会列出
fitbit.com
及其子域名。
2. httpx -threads 300 -follow-redirects -silent
httpx
是一个快速的HTTP检查工具,通常用于检查目标的存活状态。-threads 300
指定使用300个线程进行并行处理,提高速度。-follow-redirects
允许工具自动跟踪 HTTP 重定向。-silent
表示静默模式,不显示额外的输出信息。- 这部分命令将所有从
assetfinder
得到的 URL 输入httpx
,并检查它们的可达性。
3. rush -j200
rush
是一个并行任务处理工具,它能通过并行执行任务来加速处理。-j200
指定最多并行执行200个任务。
4. 'curl -m5 -s -I -H "Origin: evil.com" {} | [[ $(grep -c "evil.com") -gt 0 ]] && printf "\n\033[0;32m[VUL TO CORS] \033[0m{}"'
- 对每个 URL,
rush
会运行一个curl
请求。-m5
表示设置最大超时为5秒。-s
表示静默模式,不显示进度条和错误信息。-I
表示仅请求响应头。-H "Origin: evil.com"
:此请求头设置了一个伪造的Origin
,即一个不同于目标网站的来源地址(这里是evil.com
)。
grep -c "evil.com"
会检查响应头中是否包含来自evil.com
的内容。如果响应头中有该来源地址,说明目标站点可能存在 CORS 漏洞。- 如果找到匹配项(即网站允许跨域访问
evil.com
),则会输出:bash复制代码[VUL TO CORS] <URL>
其中<URL>
是发现漏洞的目标网站的地址。
5. 2>/dev/null
- 将错误输出重定向到
/dev/null
,也就是说,如果命令执行过程中发生任何错误,这些错误信息将被忽略。