PortSwigger靶场之Stored DOM XSS通关秘籍

一、分析靶场

首先我们先提交评论,如何检查页面代码,发现我们上传的输入被提交进了一对<p>标签内

然后我们想查看js代码,把下面框起来的地址复制到url后即可看到

查看JS代码,我们注意到replace() 函数,在JavaScript中,当 string.replace() 的第一个参数是一个字符串时(而不是一个全局正则表达式),它只会替换它找到的第一个匹配项。因此,我们可知第一个<>会被编码。

且评论的内容会被 innerHTML插入<p>标签中间

因此我们只需要先输入一个<>使其被编码,再注入标签,就不会被编码,即可以执行JavaScript代码

二、进行攻击

html 复制代码
payload:<><img src="1" onerror="alert(1)">

三、成功通关

相关推荐
酒尘&4 小时前
JS数组不止Array!索引集合类全面解析
开发语言·前端·javascript·学习·js
学历真的很重要5 小时前
VsCode+Roo Code+Gemini 2.5 Pro+Gemini Balance AI辅助编程环境搭建(理论上通过多个Api Key负载均衡达到无限免费Gemini 2.5 Pro)
前端·人工智能·vscode·后端·语言模型·负载均衡·ai编程
用户47949283569156 小时前
"讲讲原型链" —— 面试官最爱问的 JavaScript 基础
前端·javascript·面试
用户47949283569156 小时前
2025 年 TC39 都在忙什么?Import Bytes、Iterator Chunking 来了
前端·javascript·面试
大怪v7 小时前
【Virtual World 04】我们的目标,无限宇宙!!
前端·javascript·代码规范
狂炫冰美式7 小时前
不谈技术,搞点文化 🧀 —— 从复活一句明代残诗破局产品迭代
前端·人工智能·后端
xw58 小时前
npm几个实用命令
前端·npm
!win !8 小时前
npm几个实用命令
前端·npm
代码狂想家8 小时前
使用openEuler从零构建用户管理系统Web应用平台
前端
dorisrv9 小时前
优雅的React表单状态管理
前端