XSS的高级利用:盗取用户Cookie

XSS不仅仅弹出一个alert就行了,更多的是和其他玩意组合
高级的利用有:

  • 盗取用户Cookie
  • 修改网页内容
  • 网站挂马
  • 利用网站重定向
  • XSS蠕虫

XSS会话劫持

XSS会话劫持和Cookie有关

Cookie简介:

  • Cookie是一种能够让网站服务器把少量文本数据存储到客户端的硬盘或者内存中,或者是从客户端的硬盘或者内存读取数据的一种技术
  • 因为HTTP协议是无状态的,Web服务器没办法区分请求是否来源于同一个浏览器,因此,web服务器需要额外的数据去维持会话,而Cookie正是这种维持会话的数据,它随着HTTP请求报文或者响应报文一起被传递。
  • 比如当你浏览网站的时候,网站通过浏览器可能会向电脑存储空间中写入一个非常小的文本文件,它可以记录你的ID、name、password等等信息,这个小文件就叫Cookie文件。当你再次来到网站的时候,浏览器会把本地的Cookie文件发送到网站,网站得知你的信息之后,就可以做出相应的动作,比如 :免密登录。
  • Cookie按照在存储系统中的位置,可以分为内存Cookie和硬盘Cookie:
    • 内存Cookie保存在内存中,浏览器关闭就消失,也叫非持续性Cookie
    • 硬盘Cookie保存在辅存中,有一个过期时间,除非手动或者到期,此Cookie不会被删除,也叫持续性Cookie
  • 一个电脑里会有多个Cookie,但是一个网站一般只能取得属于那个网站的Cookie。
  • Cookie也具有限制,大多数浏览器的Cookie大小限制是4KB,浏览器限制站点中只能存储20个Cookie,根据浏览器的不同,指定的规则也不一样(虽然现在都是用Chrome内核)

Cookie格式

  • Cookie被存在硬盘的时候,不同浏览器保存的位置也不一样,需要百度
  • Cookie的文件名是txt文件,下面是浏览器中的Cookie:
    在这里插入图片描述
  • 可以看到Cookie是由变量名(Key)和值(Value)组成的,多个Cookie组成在一起类似于数据表,俗称为Cookie表:

以MicrosoftEdge为例,Cookies 表包含以下字段。
https://docs.microsoft.com/zh-cn/microsoft-edge/devtools-guide-chromium/storage/cookies

  • 名称name: Cookie 的名称。
  • 值value: Cookie 的值。
  • 域domain: 允许接收 Cookie 的主机。
  • 路径path: URL 必须存在于请求的 URL 中以发送 Cookie 标头。 使用value和path,可以有效圈定Cookie的范围
  • 到期日期/最长期限 expries /max-age :Cookie 的到期日期或最长期限,导航到“永久 Cookie。 对于会话Cookie,此值始终为 Session。
  • 大小size: Cookie 的大小(以字节为单位)。
  • HTTP: 如果为true,则此字段指示应仅通过 HTTP 使用 Cookie,不允许 JavaScript 修改。
  • 安全Secure: 如果为 true,则此字段指示必须通过安全的 HTTPS 连接将 Cookie 发送到服务器。而且就只有HTTPS。
  • SameSite: 包含 strict,当 Cookie 使用实验性 Samesite 属性时包含lax。
  • 优先级Priority: 包含 low、medium (default),当 Cookie 使用已弃用的 Cookie Priority 属性时包含 high。

读写Cookie

Java、JS、PHP、ASP.NET都具有读写Cookie的能力
比如PHP:

<?php
setcookie("name","zeker62");
var_dump($_COOKIE);
?>

这行简单的代码 就有将Cookie的name标签的值设定为zeker62。
更多的笔者还在学习中

使用JavaScript替换Cookie

  • 平常基本上使用的都是通过burpSuite抓包然后修改Cookie,但是抓包就有些麻烦。

  • 更简单的方法是通过浏览器中的命令行来修改Cookie,其中的语法是JavaScript

  • 语法document.cookie="键=值"

  • 直接使用document.cookie可以查看当前Cookie值
    在这里插入图片描述

至于如何进行Cookie劫持,我有博客;https://blog.csdn.net/ZripenYe/article/details/119179859

XSS Framwork

  • XSS漏洞的兴起,XSS漏洞利用框架也随之出现,这些框架的出现让渗透打工人便利许多。
  • XSS框架是一组JavaScript的工具集合,集成了各种攻击脚本,不需要用户编代码。
  • XSS知名平台:https://xsshs.cn
  • 如何使用XSS平台,也在这个博客里面了:https://blog.csdn.net/ZripenYe/article/details/119179859
posted @ 2021-08-13 19:13  Zeker62  阅读(845)  评论(0编辑  收藏  举报