PortSwigger靶场之Stored XSS into HTML context with nothing encoded通关秘籍

这个靶场在一个博客的评论功能 中包含一个存储型跨站脚本(Stored XSS)漏洞,要成功完成这个靶场,你需要提交一条评论。这条评论必须包含一段恶意脚本,当其他人查看这篇博客文章时,该脚本会自动执行并调用 alert 函数(即在浏览器中弹出一个警告框),首先我们先了解一下存储型跨站脚本再解决这个靶场。

一、存储型跨站脚本 (Stored XSS):

  • 这是一种比反射型XSS更危险的漏洞。

  • 攻击者输入的恶意脚本会被永久地存储在服务器的数据库中(例如,作为一条产品评论、一篇论坛帖子或一条用户名)。

  • 当任何用户(包括其他访问者或管理员)访问包含这些恶意数据的页面时,服务器会从数据库中读取并显示这些数据,导致恶意脚本在他们的浏览器中执行。

  • 攻击是持续性的,不需要像反射型XSS那样诱骗用户点击特制的链接。

二、解决靶场

题目告诉漏洞存在于评论区,我们先打开评论区

存储型跨站脚本漏洞的存在意味着当我们提交评论时,网站后端没有对我们的输入内容进行充分的过滤或编码,就直接将其保存到了数据库。

  • 我们需要在评论框中输入一段包含JavaScript alert() 函数的HTML脚本。一个最简单的攻击载荷(payload)就是:<script>alert('XSS');</script>

  • 当你提交这条评论后,这段脚本代码就会被存入数据库。

  • 之后,每当有人加载这篇博客文章和它的评论时,你的脚本就会被执行,导致他们的浏览器弹出一个警告框。只要成功弹出警告框,就意味着你解决了这个靶场。

自此,成功通关!!!!

相关推荐
hunterandroid9 分钟前
[鸿蒙从零到一] ArkUI 动画与转场实战:状态驱动、组件过渡与页面衔接
前端
何时梦醒9 分钟前
React + TypeScript + Vite 实战:从零构建 Color Picker 应用
前端·javascript·架构
谁在黄金彼岸13 分钟前
Nuxt.js 详解(一):Vue 开发者为什么要关注 Nuxt
前端
英勇无比的消炎药14 分钟前
TinyRobot v0.5.0 深度解读(三):Layout 组件——如何组织复杂工作区的页面布局
前端·vue.js
默_笙16 分钟前
😋 我让 DeepSeek-R1 在浏览器本地跑了起来,后端同事说"你认真的?"
前端·javascript
英勇无比的消炎药17 分钟前
TinyRobot v0.5.0 深度解读(四):CLI 脚手架——从零搭建 AI 应用的工程化实践
前端·vue.js·github
程序员黑豆1 小时前
鸿蒙应用开发之双向绑定实战:从 V1 到 V2 的完整迁移指南
前端·harmonyos
Escape1 小时前
为什么你的 AI 越聊越傻?从 Token 到 Agent,彻底搞懂 AI Agent的秘密㊙️
前端·人工智能·后端
李明卫杭州2 小时前
Vue3 响应式概念 ↔ React 对应方案(类组件与函数组件)对照笔记
前端·vue.js·react.js