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

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

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

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

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

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

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

二、解决靶场

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

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

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

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

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

自此,成功通关!!!!

相关推荐
90后的晨仔8 小时前
uni-app项目 Vue3 状态管理 Pinia 完全指南:从概念到实战的深度解析
前端
90后的晨仔9 小时前
uni-app 在 iOS 平台跳转页面时移除底部安全区域的完整技术指南
前端
用户938515635079 小时前
React + JWT 登录鉴权底层原理与工程化实践
前端·react.js
zww89491119 小时前
家政派单系统开发实战:架构设计与派单算法指南
前端·系统架构
fangzhanpeng16810 小时前
(前端)2.js变量作用域样例
开发语言·前端·javascript
赵广陆10 小时前
企业实战:web服务集成
前端·pycharm·fastapi
demo007x10 小时前
Hermes-Agent 技术架构
前端·后端·agent
码艺-Alimjan12 小时前
Vue项目源码备份最佳实践:无视node_modules,打包体积仅2MB
前端·javascript·vue.js
隔窗听雨眠12 小时前
esbuild构建工具简介:重新定义前端构建速度的极速打包器
前端