目录
存储型XSS
- 长期存储于服务器端
- 每次用户访问都会被执行javascript脚本
了解XSS简介以及反射型XSS,请戳此超链接——Kali渗透测试之DVWA系列4——反射型XSS(跨站脚本攻击)
一、原理示意图
获取cookie
- 黑客首先向服务器发送js脚本
- 服务器将js页面存储在服务器上,并将含有js脚本的页面发给黑客
- 当被攻击方访问服务器时,服务器返回js页面
- 黑客获取被攻击方的cookie
重定向
- 黑客首先向服务器发送js脚本
- 服务器将js页面存储在服务器上,并将含有js脚本的页面发给黑客
- 当被攻击方访问服务器时,服务器返回js页面
- 被攻击方点击url重定向到第三方网站
二、实验环境
1、测试机:物理机Windows 10,远程登录DVWA;安装BurpSuite
2、DVWA服务器:Windows Server 2003(192.168.247.129),启动phpStudy。
三、实验步骤
安全级别:LOW
查看源码
源码分析
- trim(string,charlist):移除字符串两侧的空白字符或其他预定义字符,预定义字符包括、\t、\n、\x0B、\r以及空格,可选参数charlist支持添加额外需要删除的字符;
- mysql_real_escape_string(string,connection):对字符串中的特殊符号(\x00,\n,\r,\,‘,“,\x1a)进行转义;
- stripslashes(string):删除字符串中的反斜杠。
从源码中可以看到,对输入的name参数和message参数并没有做XSS方面的过滤与检查,并且数据存储在数据库中,所以存在明显的存储型XSS漏洞;
使用场景
1、简单应用,输入test
每使用一次存储型数据库,需重置数据库,以免影响下一次实验。
2、<script>alert(‘XSS’)</script>;弹出弹框
注:存储型XSS是长期存储在服务器端,每次访问时都会执行js脚本