PortSwigger靶场之Stored DOM XSS通关秘籍

一、分析靶场

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

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

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

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

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

二、进行攻击

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

三、成功通关

相关推荐
web打印社区19 小时前
使用React如何静默打印页面:完整的前端打印解决方案
前端·javascript·vue.js·react.js·pdf·1024程序员节
喜欢踢足球的老罗19 小时前
[特殊字符] PM2 入门实战:从 0 到线上托管 React SPA
前端·react.js·前端框架
小光学长19 小时前
基于Vue的课程达成度分析系统t84pzgwk(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库·vue.js
Baklib梅梅20 小时前
探码科技再获“专精特新”认定:Baklib引领AI内容管理新方向
前端·ruby on rails·前端框架·ruby
南方以南_20 小时前
Chrome开发者工具
前端·chrome
YiHanXii20 小时前
this 输出题
前端·javascript·1024程序员节
楊无好21 小时前
React中ref
前端·react.js
程琬清君21 小时前
vue3 confirm倒计时
前端·1024程序员节
歪歪10021 小时前
在C#中详细介绍一下Visual Studio中如何使用数据可视化工具
开发语言·前端·c#·visual studio code·visual studio·1024程序员节
唔6621 小时前
flutter实现web端实现效果
前端·flutter