初探漏洞挖掘基础
字数 1176 2025-08-26 22:11:29
漏洞挖掘基础教学文档
一、漏洞挖掘的基本认知
1.1 漏洞挖掘的前提条件
-
对漏洞的认知
- 理解漏洞的产生原理和修复方案
- 了解修复方案的潜在绕过方法
- 示例:SQL注入产生于用户输入未过滤直接带入数据库查询
-
系统化的挖掘步骤
- 针对不同类型网站应有不同的测试策略
- 购物网站与登录系统的测试重点不同
-
防护绕过思维
- 遇到WAF不应直接放弃
- 思考绕过方案(如代理池、伪造headers等)
二、前期:信息搜集
2.1 资产搜集方法
-
天眼查
- 通过知识产权栏查找网站资产
-
ICP备案查询
- 批量查询脚本示例:
import requests import re def icp_info(host): url = f"https://icp.chinaz.com/ajaxsync.aspx?at=beiansl&callback=jQuery111305329118231795913_1554378576520&host={host}&type=host" html = requests.get(url, timeout=(5,10)).text pattern = re.compile('SiteName:(.*?),MainPage:(.*?),', re.S) info = re.findall(pattern, html) for i in range(0,32): try: name = info[i][0] target = info[i][1] print(f"{name}:{target}") # 保存到文件... except: continue -
维基百科
- 查找企业词条获取资产信息
-
Whois查询
- 通过微步查询历史whois信息
- 反查注册者/电话/邮箱获取关联域名
-
搜索引擎
- Shodan/Zoomeye/Fofa
- 搜索技巧:
- 特定公司名称
- 网站logo哈希
- domain/hostname关键字
-
GitHub
- 搜索敏感信息(用户名/密码/邮箱)
- 推荐工具:GSIL
-
微信公众号/小程序
- 搜集企业官方公众号和小程序
- 小程序常与WEB端接口交互
-
APP搜集
-
JS文件分析
- 提取隐藏接口和域名
- 推荐工具:JSFinder
三、中期:深入资产搜集
3.1 子域名枚举
3.2 IP和端口扫描
-
IP搜集
- 使用ip138查询当前和历史解析IP
- 地址:http://www.ip138.com/
-
端口扫描
- 工具:nmap/masscan
- 重点关注:
- WEB服务端口
- 可能存在漏洞的服务(redis/mongodb等)
四、后期:漏洞扫描与验证
4.1 自动化扫描
-
漏洞扫描器
- Nessus:扫描端口服务漏洞和系统CVE
- AWVS:扫描WEB漏洞(XSS/SQLI/CSRF等)
-
指纹识别
- 云悉API或自写插件
-
敏感信息扫描
- BBSCAN:扫描.git/.svn/备份文件
- weakfilescan:弱文件扫描
4.2 手动测试
-
测试流程
- 对自动化扫描结果进行验证
- 针对关键系统进行深入手工测试
-
测试重点
- 输入点测试(表单、URL参数等)
- 权限验证测试
- 业务逻辑漏洞测试
五、持续学习与改进
-
漏洞知识积累
- 学习新漏洞类型和利用技术
- 关注安全社区最新研究成果
-
工具更新
- 保持工具版本最新
- 根据需求开发自定义工具
-
经验总结
- 记录测试过程和发现
- 分析成功/失败案例
六、注意事项
-
法律合规
- 仅在授权范围内测试
- 遵守SRC平台规则
-
测试规范
- 避免影响业务正常运行
- 谨慎使用可能造成破坏的测试方法
-
报告编写
- 清晰描述漏洞细节
- 提供完整复现步骤
- 建议修复方案