news 2026/7/2 3:57:41

入门级反射型xss实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
入门级反射型xss实战

本文仅用于安全技术学习交流,所有目标信息已脱敏处理。

⚠️ 新手向文章,大佬勿喷,直接掠过即可。(新手,有错误欢迎指正)

信息收集

进入目标网站首页,页面风格明显偏老。查看源码发现使用了 jQuery(版本较旧),这类老站点往往对用户输入的过滤不够严格,存在 XSS 风险。

初步探测

在搜索框输入经典 payload:

<script>alert(1)</script>

结果:直接被 WAF 拦截。

尝试 URL 编码绕过:

%3Cscript%3Ealert(1)%3C/script%3E

结果:依然被拦截。

猜测 WAF 可能过滤了alert()函数,尝试替换:

<script>console.log(1)</script>

结果:还是被拦截。

再次进行 URL 编码:

%3Cscript%3Econsole.log(1)%3C/script%3E

结果:这次没有触发 WAF。

分析 WAF 规则

三次测试的对比:

Payload

是否拦截

说明

<script>alert(1)</script>

✅ 拦截

包含<script

<script>console.log(1)</script>

✅ 拦截

包含<script

%3Cscript%3Econsole.log(1)%3C/script%3E

❌ 未拦截

URL 编码后绕过了<script字符串匹配

结论:WAF 的规则是匹配<script这个字符串模式,而非单纯的尖括号<>

为什么编码后的 payload 没成功?

虽然绕过了 WAF,但控制台并没有输出1

查看页面源码中输入的回显位置,发现:

HTML

<input type="text" value="console.log(1)&lt;/script&gt;">

WAF 的处理逻辑:直接删除了<script>字符串,剩余部分原样保留。

WAF 的规则是匹配并删除<script>字符串,而非拦截整个请求。编码后的 payload 绕过了字符串匹配,但解码后仍被过滤。

此时:

  • console.log(1)只是HTML 属性值中的普通文本
  • </script>被 HTML 实体编码为&lt;/script&gt;或浏览器当作纯文本
  • 没有任何代码执行的环境

核心问题:输入被当作 HTML 属性值处理,没有进入 JavaScript 执行上下文。

转换思路:跳出字符串执行

既然输入被包裹在双引号中,尝试闭合前面的字符串和语句,然后注入代码。

构造 payload:

";console.log(1);//

分解执行逻辑:

部分

作用

"

闭合value="

;

结束变量赋值语句

console.log(1)

注入的恶意代码

//

注释掉后面多余的"

最终页面中的代码变为:

var keyword = "";console.log(1);//";

验证

将 payload 进行 URL 编码:

%22%3Bconsole.log(1)%3B%2F%2F

提交后观察浏览器控制台:

控制台成功回显,证明反射型 XSS 存在。

修复建议

  1. 输出编码:对用户输入进行 HTML 实体编码("&quot;<&lt;等)
  2. 避免直接拼接:不要将用户输入直接拼接到<script>标签内的字符串中
  3. 使用安全的 DOM 操作:避免使用innerHTMLdocument.write()处理不可信数据
  4. 启用 CSP:配置 Content-Security-Policy 限制内联脚本执行

总结

阶段

关键动作

探测

经典 payload 测试 WAF 边界

分析

通过对比测试确定 WAF 规则是匹配<script

定位

查看源码确认输入回显位置(var keyword = "..."

绕过

闭合字符串 + 语句注释,跳出上下文执行代码

验证

控制台回显确认漏洞存在


免责声明:本文所述技术仅用于合法授权的安全测试和学习研究,请勿用于非法用途。

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

阿里云文件存储NAS对接完全指南:从零搭建到生产级调优

1. 认识阿里云文件存储NAS 阿里云文件存储NAS&#xff08;Apsara File Storage NAS&#xff09;是一种面向阿里云ECS实例、容器服务、弹性高性能计算等计算节点的共享访问分布式文件系统。它基于POSIX文件接口&#xff0c;天然适配原生操作系统&#xff0c;提供共享访问的同时…

作者头像 李华
网站建设 2026/7/2 3:55:12

Three.js 分级地图教程

分级地图 Area Map ▶ 在线运行案例 案例合集&#xff1a; 三维可视化功能案例&#xff08;threehub.cn&#xff09;开源仓库github地址&#xff1a; https://github.com/z2586300277/three-cesium-examples400个案例代码: 网盘链接 你将学到什么 OrbitControls 相机轨道交…

作者头像 李华
网站建设 2026/7/2 3:50:03

threejs + vite + vue3 数字孪生简单案例

一、安装必要的软件3D项目创建&#xff1a;npm create vitelatest task-hub -- --template vue npm create vitelatest&#xff1a;拉取最新版 Vite 脚手架创建项目 task-hub&#xff1a;项目文件夹名称&#xff08;生成在当前目录&#xff09; --&#xff1a;分隔 npm 参数与…

作者头像 李华
网站建设 2026/7/2 3:48:04

ClickHouse 慢查询怎么分析?我做了一个 EXPLAIN 可视化 + AI 调优助手

摘要&#xff1a;ClickHouse 的 EXPLAIN 输出格式多、层次深&#xff0c;排查慢查询时往往要在终端、文档和 system.query_log 之间来回切换。本文介绍在线工具 ClickHouse EXPLAIN 可视化 & AI 调优助手&#xff0c;支持离线粘贴执行计划、直连集群采集指标&#xff0c;并…

作者头像 李华