【XSS】利用XSS窃取用户Cookie

Hello,各位小伙伴周六愉快

晃眼之间一周又快要过去了,时间是不等人

今天我们来看看怎么利用XSS窃取用户cookie吧。

Part.1

概述

实验概述

实验拓扑:

XSS的用途之一就是窃取用户的cookie,攻击者利用XSS在网页中插入恶意脚本,一旦用户访问该网页,cookie就会自动地发送到攻击者的服务器中去。

使用cookie我们可以实现免密登陆,如果能够盗取网站管理员的cookie,那么就可以用管理员的身份直接登录网站后台,而不必非要去获得管理员账号和密码了。

关于cookie的原理,在前面讲过一期,这里就不赘述了,有兴趣的小伙伴可以看一下:

【协议】聊聊cookie与session那些事

Part.2

编写远端接收代码

接收cookie

在攻击者服务器搭建一个php页面,用于收取远端传过来的cookie,代码如下:

代码解释如下:

  • 通过$_GET接收传过来的cookie值。
  • 通过getenv方法,可以获取用户ip地址和cookie的来源。
  • 通过date函数,记录下获取到cookie的时间。
  • 通过fopen函数,通过a(追加)的方式,打开cookie.txt文件。
  • 通过fwrite的方式,将我们获取到的信息记录到cookie.txt文件中。
  • 通过fclose函数关闭文件。

Part.3

利用XSS盗取Cookie

XSS利用

web页面以DVWA平台 存储型XSS为例,我们来插入一个恶意JS代码。

构造如下js代码:

通过document.cookie可以读取当前页面的cookie值,然后通过GET方法发送至攻击者服务器。

选择low安全等级,打开dvwa XSS(stored)页面 :

在Name栏、Message栏均存在存储型XSS,在Message中输入上面的恶意代码,并提交,会发现有输入长度限制:

不过这里是前端长度限制,我们直接修改当前网页代码即可,将maxlength改大:

再次输入,可顺利输入,点击提交即可:

现在我们模拟用户来访问该页面,成功加载js代码:

查看攻击者服务器,顺利盗取到用户cookie:

Part.4

Cookie窃取后的利用

Cookie利用

以下是我们窃取到的信息:

可以看到用户的访问地址和使用的cookie值。

现在攻击者去访问这个页面,由于没有cookie会自动跳转到登陆界面,无法直接访问:

浏览器利用Cookie Editor等插件,使用刚才盗取到的cookie:

再次访问页面,成功利用用户身份,实现无账号密码登陆:

Part.5

结语

好啦,以上就是今天的全部内容了~

Peace!

本文分享自微信公众号 - 一名白帽的成长史(monster-liuzhi)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券