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

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

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

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

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

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

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

二、解决靶场

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

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

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

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

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

自此,成功通关!!!!

相关推荐
wuhen_n2 小时前
网络请求在Vite层的代理与Mock:告别跨域和后端依赖
前端·javascript·vue.js
用户69371750013847 小时前
Google 正在“收紧侧加载”:陌生 APK 安装或需等待 24 小时
android·前端
蓝帆傲亦7 小时前
Web 前端搜索文字高亮实现方法汇总
前端
用户69371750013847 小时前
Room 3.0:这次不是升级,是重来
android·前端·google
漫随流水8 小时前
旅游推荐系统(view.py)
前端·数据库·python·旅游
踩着两条虫10 小时前
VTJ.PRO 核心架构全公开!从设计稿到代码,揭秘AI智能体如何“听懂人话”
前端·vue.js·ai编程
jzlhll12311 小时前
kotlin Flow first() last()总结
开发语言·前端·kotlin
蓝冰凌11 小时前
Vue 3 中 defineExpose 的行为【defineExpose暴露ref变量】详解:自动解包、响应性与实际使用
前端·javascript·vue.js
奔跑的呱呱牛12 小时前
generate-route-vue基于文件系统的 Vue Router 动态路由生成工具
前端·javascript·vue.js