Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)

目录

一、原理示意图

二、实验环境

三、实验步骤

       安全级别:LOW

              重定向

              获取cookie

      安全级别:Medium

      安全级别:High

      安全级别:Impossible


存储型XSS

  • 长期存储于服务器端
  • 每次用户访问都会被执行javascript脚本

了解XSS简介以及反射型XSS,请戳此超链接——Kali渗透测试之DVWA系列4——反射型XSS(跨站脚本攻击)

一、原理示意图

获取cookie

  1. 黑客首先向服务器发送js脚本
  2. 服务器将js页面存储在服务器上,并将含有js脚本的页面发给黑客
  3. 当被攻击方访问服务器时,服务器返回js页面
  4. 黑客获取被攻击方的cookie

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第1张图片

重定向

  1. 黑客首先向服务器发送js脚本
  2. 服务器将js页面存储在服务器上,并将含有js脚本的页面发给黑客
  3. 当被攻击方访问服务器时,服务器返回js页面
  4. 被攻击方点击url重定向到第三方网站

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第2张图片

二、实验环境

1、测试机:物理机Windows 10,远程登录DVWA;安装BurpSuite

2、DVWA服务器:Windows Server 2003(192.168.247.129),启动phpStudy。

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第3张图片

三、实验步骤

安全级别:LOW

查看源码

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第4张图片

源码分析

  • 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

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第5张图片Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第6张图片

每使用一次存储型数据库,需重置数据库,以免影响下一次实验。

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第7张图片

2、;弹出弹框

注:存储型XSS是长期存储在服务器端,每次访问时都会执行js脚本

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第8张图片

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第9张图片

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第10张图片

3、;弹出弹框

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第11张图片

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第12张图片

4、登录;点击 ' 登录 ',直接跳转到http://192.168.247.129页面。

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第13张图片

 Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第14张图片

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第15张图片

5、

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第16张图片

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第17张图片

文本框输入的数据长度如果有限制,可以使用如下方法解决:

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第18张图片

6、点击

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第19张图片

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第20张图片

重定向

7、    #提交后,重定向到百度

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第21张图片

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第22张图片

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第23张图片

8、      #重定向到http://192.168.247.129

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第24张图片

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第25张图片

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第26张图片

9、

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第27张图片

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第28张图片Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第29张图片

获取cookie

10、

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第30张图片

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第31张图片

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第32张图片Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第33张图片

11、;直接弹出一个弹窗,显示cookie值。

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第34张图片Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第35张图片

12、

步骤:

  • 在Kali的 /var/www/html 目录下制作一个js脚本
  • 在Kali的 /var/www/html 目录下开启 Apache服务(/etc/init.d/apache2 start)(截图上忘记放这一步了)
  • 监听指定的端口88(nc -vnlp 88)
  • 访问ip/js脚本
  • 获取到js脚本实现的结果

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第36张图片

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第37张图片

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第38张图片

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第39张图片

安全级别:Medium

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第40张图片

查看源码

Kali渗透测试之DVWA系列5——存储型XSS(跨站脚本攻击)_第41张图片

源码分析

由于对message参数使用了htmlspecialchars函数进行编码,因此无法再通过message参数注入XSS代码;

对于name参数,这里是基于黑名单的思想,使用str_replace函数将输入中的    #可以在name中将     #嵌入绕过,在name中可以将script嵌入到

你可能感兴趣的:(Kali渗透测试)