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

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

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

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

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

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

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

二、解决靶场

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

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

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

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

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

自此,成功通关!!!!

相关推荐
LucianaiB3 小时前
【元宝搜索开发者征文大赛】AI时代,学得慢就不用学?用元宝搜索打造一个教程保质期,确保每一个教程符合你的现状
前端·人工智能·ai编程
excel4 小时前
JavaScript 对象池:减少高频对象创建与 GC 压力
前端
陈随易5 小时前
纯 Go 写的 JS 引擎,跑分超过了 C 语言的 QuickJS
前端·后端·程序员
子兮曰7 小时前
Chrome 权限元素实战:144 与 151 的渐进增强写法
前端·javascript·chrome
IT_陈寒7 小时前
Redis连接池泄漏那次,我差点把生产环境搞崩了
前端·人工智能·后端
强尼银手7 小时前
我花一天做了个格斗游戏原型,判定全对,然后被「美术」劝退了
前端·javascript
石小石Orz7 小时前
AI 正在蚕食我们的编码能力
前端·后端·算法
陈随易8 小时前
专注飞机 FocusFlight,两个人把番茄钟做成了一趟航班
前端·后端·程序员
总要学点什么9 小时前
第98篇:三维特效-材质线效果——给一条线换十种材质,虚线的图案只填了一半
开发语言·前端·javascript·ecmascript·gis·webgl·材质
10share9 小时前
基于大模型的 i18n 方案:把中文原文当 Key,轻松搞定多语言维护
前端·vue.js