PortSwigger靶场之Stored DOM XSS通关秘籍

一、分析靶场

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

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

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

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

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

二、进行攻击

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

三、成功通关

相关推荐
TrisighT16 分钟前
Electron 鸿蒙 PC 上点外链唤醒应用,我试了 6 种写法只有 1 种能跑
前端·electron·harmonyos
天才熊猫君1 小时前
配置与数据分离:一种可视化搭建的属性编辑方案
前端·javascript
林希_Rachel_傻希希1 小时前
web性能之相关路径——AI总结
前端·javascript·面试
竹林8182 小时前
用 wagmi v2 踩坑两天,我终于搞懂了多链钱包切换在 DeFi 前端中的正确姿势
前端·javascript
用户2136610035722 小时前
Vue项目搜索功能与面包屑导航
前端·javascript
星栈2 小时前
LiveView 的实时通信,爽是爽,但 PubSub 和广播也最容易把自己绕晕
前端·前端框架·elixir
用户2930750976692 小时前
告别关键词匹配,拥抱向量语义 —— RAG 搜索从零到一
前端
独孤留白2 小时前
从C到Rust:告别 C 的"指针 + 长度"手动模式
前端·rust
掘金安东尼2 小时前
中小厂前端候选人简历面试拆解:从 HR 面、技术面到主管面的双赢提问法
前端·面试