漏洞赏金技巧:初学者指南(2024)#1
漏洞赏金技巧:初学者指南(2024)#1
原创 再说安全 再说安全 2024-11-25 11:19
本文阅读大约需要10分钟;
本文整理提炼了一份漏洞赏金技巧清单,旨在为初学者提供参与漏洞赏金项目的实用指南。该清单以 Web 站点渗透测试为基础,循序渐进地介绍了漏洞挖掘的核心步骤和常用工具,并通过提供可操作的命令示例,降低入门门槛,即使是初学者也能轻松上手。清单中涵盖的技术和方法,例如子域名枚举、端口扫描和漏洞扫描等,均源于实战检验,可有效自动化部分漏洞挖掘任务,从而提高效率。该清单面向 Web 安全初学者、漏洞赏金猎人以及所有对漏洞挖掘感兴趣的人员,帮助他们理解漏洞赏金项目的流程和方法,鼓励他们积极参与,为 Web 安全贡献力量。
*1. *使用 Subfinder 枚举子域名:
subfinder -d target.com -silent | tee subdomains.txt
使用 Subfinder 工具扫描target.com 的子域名,并将结果保存到 subdomains.txt 文件中。(尝试扩大攻击面)
相关技巧:建议使用多个子域名枚举工具,例如Assetfinder、Amass、 OneForAll 等,
并结合不同的信息源,例如 DNS 服务器、 证书透明度日志 (CTL) 等,提高子域名的覆盖率。
难点:
-
子域名枚举可能会受到 DNS 服务器的限制,例如,某些 DNS 服务器会限制查询的频率和数量。
-
目标网站可能使用了 CDN (Content Delivery Network),导致一些子域名无法被枚举到。
-
目标网站可能使用了通配符 DNS 记录,导致枚举出大量的无效子域名。
-
某些子域名可能使用了 DNSSEC进行安全防护,增加了枚举的难度。
-
目标网站可能使用了反爬虫机制,例如验证码、IP 地址限制等,需要使用代理或其他技术绕过这些限制。
https://github.com/projectdiscovery/subfinder
2.移除重复的子域名、排序,并确定优先级:
cat subdomains.txt | sort | uniq | tee sorted-subdomains.txt
对 subdomains.txt 文件中的子域名进行排序和去重,并将结果保存到 sorted-subdomains.txt 文件中。
难点:确定子域名的优先级需要综合考虑多个因素,例如子域名的命名规则、业务功能、历史漏洞等信息,以及威胁情报等。
3.使用 httpx 检查哪些子域名是活动的:
cat sorted-subdomains.txt | httpx -silent -threads 50 | tee live-subdomains.txt
使用 httpx 工具检查 sorted-subdomains.txt 文件中的子域名是否处于活动状态,并将结果保存到 live-subdomains.txt 文件中。
难点:
1. 某些子域名可能使用了 WAF或其他安全防御措施,导致 httpx 无法正常访问。
-
某些子域名可能使用了重定向,需要使用
-follow-redirects
参数才能正确识别。 -
某些子域名可能需要特定的 HTTP 请求头信息才能访问,需要使用
-H
参数指定请求头信息。 -
目标网站可能使用了反爬虫机制,例如验证码、IP 地址限制等,需要使用代理或其他技术绕过这些限制。
-
httpx 的输出结果可能包含大量的无用信息,需要使用 grep、awk 等命令进行过滤。
****https://github.com/projectdiscovery/httpx
4.使用 Nmap 对活动子域名执行端口扫描:
nmap -iL live-subdomains.txt -p 80,443 -oG nmap-results.txt
使用 Nmap 扫描 live-subdomains.txt 文件中列出的所有活动子域名的 80 和 443 端口,并将结果保存到 nmap-results.txt 文件中。
难点:
1. 防火墙或 IDS/IPS 可能会拦截 Nmap 的扫描请求,需要使用 Nmap 的各种绕过技术,例如,使用
-f
参数进行分片扫描、使用
-D
参数进行诱饵扫描等。
-
目标网站可能使用了 CDN ,导致扫描结果不准确。
-
目标网站可能使用了
端口隐藏技术,导致 Nmap 无法扫描到所有开放的端口。 -
Nmap 的某些扫描模式可能会比较耗时,需要耐心等待扫描结果。
-
Nmap 的扫描结果可能包含大量的无用信息,需要使用 grep、awk 等命令进行过滤。
https://nmap.org/download.html
5.使用 httpx 检查安全头部和配置:
cat live-subdomains.txt | httpx -silent -status-code -follow-redirects -title -web-server -tech-detect -o headers_output.txt
使用 httpx 检查活动子域名的安全头部和配置,例如状态码、标题、Web 服务器类型、技术栈等,并将结果保存到 headers_output.txt 文件中。
难点:
1. 某些子域名可能使用了 WAF 或其他安全防御措施,导致 httpx 无法正常访问。
-
某些子域名可能使用了重定向,需要使用 -follow-redirects 参数才能正确识别。
-
某些子域名可能需要特定的 HTTP 请求头信息才能访问,需要使用 -H 参数指定请求头信息。
-
目标网站可能使用了反爬虫机制,例如验证码、IP 地址限制等,需要使用代理或其他技术绕过这些限制。
-
httpx 的输出结果可能包含大量的无用信息,需要使用 grep、 awk 等命令进行过滤。
https://github.com/projectdiscovery/httpx
6.使用 Nuclei 对已知 CVE 进行自动化漏洞扫描:
nuclei -l live-subdomains.txt -t cves/ -o nuclei-cves-results.txt
使用 Nuclei 扫描 live-subdomains.txt 中列出的活动子域名是否存在已知的 CVE 漏洞,并将结果保存到 nuclei-cves-results.txt 文件中。
难点:
1. Nuclei 的模板库需要定期更新,才能覆盖最新的漏洞。
-
某些 WAF 可能会拦截 Nuclei 的扫描请求,需要使用绕过技术。
-
Nuclei 的扫描结果可能会包含误报, 需要人工验证。
-
某些漏洞需要特定的条件才能触发,Nuclei 可能无法检测到这些漏洞。
-
对于复杂的 Web 应用程序,Nuclei 的扫描覆盖率可能不够高。
https://github.com/projectdiscovery/nuclei
7.使用 FFUF 对目录进行暴力破解:
cat live-subdomains.txt | xargs -I {} ffuf -w wordlists/onelistforallmicro.txt -u {}/FUZZ -e .php,.html,.js,.txt,.asp,.zip,.gz,.tar -o ffuf-results.txt
使用FFUF对活动子域名的目录进行暴力破解,使用 onelistforallmicro.txt 中的路径字典,并测试常见的文件扩展名,将结果保存到 ffuf-results.txt 文件中。
难点:
1. WAF 拦截:某些 WAF 可能会拦截 FFUF 的扫描请求,导致扫描结果不准确。
1. 速率限制:某些网站会限制请求速率,需要降低 FFUF 的扫描速度,或者使用代理服务器。
1. 目录结构复杂:如果目标网站的目录结构非常复杂,FFUF 的扫描时间会很长。
1. 扫描结果需要人工分析:FFUF 的扫描结果需要人工分析,才能识别有价值的目录和文件。
https://github.com/ffuf/ffuf
8.使用 Subjack 检查子域名接管:
subjack -w live-subdomains.txt -t 100 -timeout 30 -ssl -o subjack_results.txt -v
使用 Subjack 检查活动子域名是否存在子域名接管漏洞,并将结果保存到 subjack_results.txt 文件中。
难点:
1. WAF 拦截:某些 WAF 可能会拦截 Subjack 的请求,导致扫描结果不准确。
1. CDN 影响:CDN可能会缓存 DNS 记录,导致 Subjack 无法获取到最新的 DNS 信息。
1. 一些子域名接管漏洞需要手动验证,例如,需要注册相应的第三方服务,才能验证子域名是否可以被接管。
1. 子域名接管漏洞的利用方法比较复杂,需要一定的技术实践积累。
https://github.com/haccer/subjack
9.在活动子域名上使用 Dalfox 运行 XSS 扫描:
cat live-subdomains.txt | xargs -I {} dalfox url {} -b https://your-Burp-Collaborator -o dalfox-xss-results.txt
使用 Dalfox 扫描活动子域名是否存在 XSS 漏洞,使用 Burp Collaborator 作为 Payload 接收服务器,并将结果保存到 dalfox-xss-results.txt 文件中。
难点:
1. WAF 拦截:某些 WAF 可能会拦截 Dalfox 的扫描请求,导致扫描结果不准确。
1. 误报:Dalfox 的扫描结果可能会包含一些误报,需要人工验证。
1. 复杂的XSS 漏洞:一些XSS漏洞的利用方法比较复杂,需要手动构造 Payload。
1. JavaScript 代码混淆:某些网站会对 JavaScript 代码进行混淆,增加 XSS 漏洞的识别难度。
****https://github.com/hahwul/dalfox
10.使用 GitDorker 发现内容:
python tools/GitDorker/GitDorker.py -d tools/GitDorker/Dorks/medium_dorks.txt -q site:targetsite.com -o gitdorker_results.txt
使用 GitDorker 搜索目标网站的内容,使用 medium_dorks.txt 作为搜索字典,并将结果保存到 gitdorker_results.txt 文件中。
难点:
1. 速率限制:GitHub 会对 API 请求进行速率限制,需要使用 API 令牌,并控制请求频率。
1. 结果的准确性:GitDorker 的搜索结果可能会包含一些无关的信息,需要人工进行筛选。
1. GitHub 的高级搜索功能:GitHub 本身提供了一些高级搜索功能,可以帮助我们更精确地查找信息。
1. 代码库的规模:对于大型代码库,扫描可能会比较耗时。
****https://github.com/obheda12/GitDorker
11.对活动子域名执行完整端口扫描:
nmap -iL target.subdomains.txt -p- -oG full-port-scan.txt
使用 Nmap 对 target.subdomains.txt 文件中列出的所有活动子域名进行完整的端口扫描,并将结果保存到 full-port-scan.txt 文件中。
难点:
1. 扫描时间长:完整端口扫描非常耗时。
1. 容易被检测:完整端口扫描很容易被目标系统检测到,并触发安全警报。
1. WAF 拦截:某些 WAF 可能会拦截端口扫描请求。
1. 扫描结果需要人工分析:Nmap 的扫描结果需要人工分析,才能识别潜在的漏洞。
希望以上分析对您有所帮助。在实际的漏洞赏金项目中,需要根据目标网站的具体情况,灵活运用各种工具和技术,并遵守道德规范和法律法规。
如果您觉得文章对您有所帮助,还请您关注我!
欢迎您加群讨论:安全技术交流、HW情报分享讨论群!