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 攻击。

相关推荐
武清伯MVP4 分钟前
深入了解Canvas:HTML5时代的绘图利器(一)
前端·html5·canvas
一水鉴天15 分钟前
整体设计 定稿 之24 dashboard.html 增加三层次动态记录体系仪表盘 之2 程序 (Q208 之1)
前端·html
_杨瀚博23 分钟前
微信支付集成_JSAPI
前端
polaris_tl23 分钟前
react beginwork
前端
亮子AI34 分钟前
【css】列表的标号怎么实现居中对齐?
前端·css
梦想的旅途21 小时前
媒体文件(图片/文件)的上传与管理:获取 Media ID 的技术细节
前端·http·servlet
一水鉴天1 小时前
整体设计 定稿 之22 dashboard.html 增加三层次动态记录体系仪表盘 之1
前端·html
张拭心1 小时前
程序员越想创业,越不要急着动手
前端·人工智能
舒一笑1 小时前
在低配云服务器上实现自动化部署:Drone CI + Gitee Webhook 的轻量级实践
前端·后端·程序员
龙国浪子2 小时前
从零到一:打造专业级小说地图设计工具的技术实践
前端·electron