DVWA -XSS(Stored)-通关教程-完结

DVWA -XSS(Stored)-通关教程-完结

XSS 攻击全称跨站脚本攻击。是指用户在 Web 页面中提交恶意脚本,从而使浏览包含恶意脚本的页面的用户在不知情的情况下执行该脚本,导致被攻击的行为。
与 SQL 注入类似,XSS 也是利用提交恶意信息来实现攻击效果的攻击行为。但是 XSS 一般提交的是 Javascript 脚本,运行在 Web 前端,也就是用户的浏览器;而 SQL 注入提交的SQL 指令是在后台数据库服务器执行。所以两者攻击的对象是不一样的。
XSS 按照攻击的手法,一般可以分为反射型 XSS(Reflected)、存储型 XSS(Strored)、DOM 型 XSS(DOM)。
反射型 XSS 是指恶意的攻击脚本包含在 URL 中,只有当用户访问了包含恶意脚本的 URL,才会被害。反射型的攻击,攻击脚本不会写入网站的数据库,是一次性的攻击,所以黑客一般需要诱骗用户点击包含攻击脚本的 URL,才能攻击成功。
存储型 XSS 则是把攻击脚本提交到网站后台数据库,只要有人访问了显示该数据内容的页面,就会被攻击。比较常见的场景就是黑客发表了一篇包含攻击脚本的帖子,那么只要有人访问该帖子内容的用户,就会自动在他们的浏览器上执行攻击脚本。相对于反射型,存储型的 XSS 成功率更高。
DOM 型 XSS 是指基于 DOM 文档对象模型的 XSS 攻击。编写网页时,经常会用到各种 DOM 对象,如document.referer、document.write 等等。DOM 型XSS 攻击的输出点就位于 DOM 对象上。严格来说,DOM 型 XSS 即有可能是反射型,也有可能是存储型

文章目录

Low级别存储型XSS攻击实战

1.安全级别设置为Low,点击XSS(Stored),进入存储型XSS攻击页面。发现该页面是个留言板,随意输入留言内容,可以直接显示在当前页面。

2.尝试在Message框提交弹窗脚本输出当前cookie,可以直接弹窗。说明当前级别没有对攻击脚本做任何过滤和转义。

复制代码
<script>alert("kfc")</script>
<script>alert(document.cookie)</script>


Medium级别存储型XSS攻击实战

1.安全级别设置为Medium,进入存储型XSS攻击页面,直接在Message框提交输出cookie脚本,发现脚本内容被显示,说明脚本被转义。

2.查看页面源码,发现对Message框提交的内容使用了htmlspecialchars函数,Message框的XSS基本已不可能;但是我们发现对Name框提交的内容只是简单的使用str_replace函数进行了简单替换,与Medium反射型XSS一样。我们只需要更换大写字母,或者<script>中再嵌套一层<script>即可绕过防御。

复制代码
<SCRIPT>alert(document.cookie)</SCRIPT>
<scr<script>ipt>alert(document.cookie)</script>

3.在Message框随意输入内容,Name框输入脚本发现脚本<script>alert(document.cookie)</script>发现无法完整输入,页面对Name框的字符长度进行了前端限制。

4.由于只是在浏览器前端进行的字符长度限制,我们只需要在Burpsuite中修改数据包就可以轻松绕过限制。配置好Burpsuite和浏览器的代理,抓包后,修改txtName变量的值为脚本<scr<script>ipt>alert(document.cookie)</script>(也可以把script转换为大写)。放行数据包后,可以成功提交,并弹窗输出cookie。


High级别存储型XSS攻击实战

1.设置安全级别为High,进入存储型XSS攻击页面,查看页面源码,发现Message字段仍然使用了htmlspecialchars函数;而Name字段使用了与High级别反射型XSS攻击一样的防护方法,使用preg_replace函数调用正则表达式对script做逐字匹配,并使用/i来不区分大小写。

2.方法与反射型XSS一致,不能使用<script>标签,但可以使用 <img>标签。由于前端仍然有字符长度限制,所以仍需要使用 Burpsuite 来修改 数据包。在 Burpsuite 中修改数据包中的 txtName 内容为 <img src=1 onerror=alert(document.cookie)>。放行数据包后成功弹出 cookie。


Impossible 级别存储型 XSS 攻击

1.查看页面源码,发现 Name 框和 Message 框提交的内容都使用了 htmlspecialchars 函数,彻底杜绝了 XSS 攻击。

相关推荐
ppo_wu6 小时前
解决夸克网盘自动修改PDF打开方式的方法
经验分享·安全·网络安全
LucianaiB7 小时前
【元宝搜索开发者征文大赛】AI时代,学得慢就不用学?用元宝搜索打造一个教程保质期,确保每一个教程符合你的现状
前端·人工智能·ai编程
excel7 小时前
JavaScript 对象池:减少高频对象创建与 GC 压力
前端
陈随易9 小时前
纯 Go 写的 JS 引擎,跑分超过了 C 语言的 QuickJS
前端·后端·程序员
子兮曰11 小时前
Chrome 权限元素实战:144 与 151 的渐进增强写法
前端·javascript·chrome
IT_陈寒11 小时前
Redis连接池泄漏那次,我差点把生产环境搞崩了
前端·人工智能·后端
强尼银手11 小时前
我花一天做了个格斗游戏原型,判定全对,然后被「美术」劝退了
前端·javascript
石小石Orz11 小时前
AI 正在蚕食我们的编码能力
前端·后端·算法
迪康coolmu11 小时前
出差终端数据安全落地实战:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·经验分享·笔记·其他·安全·php
陈随易12 小时前
专注飞机 FocusFlight,两个人把番茄钟做成了一趟航班
前端·后端·程序员