XSS学习(cookie远程登录演示)

 


HTTP的主要特点

  1. 请求-应答模式:HTTP协议基于客户端与服务器之间的请求-应答模式。客户端发起请求,服务器回应请求。这是其基本的通信方式。

  2. 灵活可扩展:HTTP头部非常灵活,可以添加额外的字段,这使得HTTP不仅可以传输HTML文档,还可以传输图片、视频及其他类型的数据,非常适应互联网的发展需求。

  3. 可靠传输:HTTP使用TCP协议作为其传输层,确保数据正确完整地从一端传到另一端,提供稳定可靠的数据传输。

  4. 无状态协议:HTTP是一个无状态协议,这意味着它不会保存之前交互的任何信息。每次请求都是独立的,服务器不会记住之前的任何请求。

实际应用中的状态维护

虽然HTTP是无状态的,这表面上意味着每次交互后连接就被关闭,且服务器不保存任何状态信息。例如,在CSDN发帖时,理论上每次操作都需要重新登录。但实际上,我们通常不需要这样做。这是因为引入了Cookie来维护用户状态。

Cookie是服务器发送到用户浏览器并保存在本地的小数据片段。它们用于记住用户的登录状态和其他关键信息。当你访问CSDN并登录后,服务器会创建一个Cookie并发送给你的浏览器,这个Cookie包含了识别你身份的信息。当你再次发帖或请求数据时,你的浏览器会自动发送这个Cookie回服务器。服务器通过识别这个Cookie,知道你是一个已登录的用户,从而免去了每次操作都需登录的繁琐。

这样,即使HTTP本身不保存任何状态信息,通过Cookie,我们仍然可以实现跨会话的用户状态跟踪,从而提供更连贯、个性化的网页浏览体验。

2.cookie的组成

Cookie 通常由键值对组成,具有以下格式:

 

key1=value1; key2=value2; key3=value3;

其中,每个键值对表示一个特定的属性或数值。一些常见的属性包括:

  • Expires:指定 Cookie 的过期时间。
  • Domain:指定哪些域名可以访问该 Cookie。
  • Path:指定在哪个路径下的页面可以访问该 Cookie。
  • Secure:指定是否只有通过 HTTPS 连接的请求才能发送该 Cookie。
  • HttpOnly:指定是否限制 JavaScript 访问该 Cookie,以增加安全性。

举例来说,一个简单的 Cookie 格式可能如下所示:

user_id=12345; session_token=abcdef; Expires=Sat, 26 Mar 2025 10:00:00 GMT; Path=/; Secure; HttpOnly

这个例子中包含了两个键值对(user_id=12345session_token=abcdef),以及一些属性(ExpiresPathSecureHttpOnly)。

而且cookie通常都是保存在你的磁盘里面的,并且通常都会有时间限制,在一段时间内你可以利用cookie登录这个网站,就类似于你去医院看病,第一次可能会各种填表,很麻烦,但是你第二次去的话,由于对面有了你的信息,你可能一张纸就一路通畅,这个就是cookie。

你可以在火狐浏览器上使用alert(document.cookie);这个命令直接获取你的cookie。

3.cookie远程登录

接下来直接给大家演示通过cookie登录用户的实际演示:

首先我是用edge浏览器和火狐浏览器上安装这个插件

我是用博客园这个网站做演示,首先登录你的账号,然后

打开插件,导出为JSON,然后把这个cookie复制,在另外的火狐浏览器导入你edge浏览器博客园的cookie

发现已经在火狐登录了博客园账号

你甚至可以在火狐浏览器上使用alert(document.cookie);这个命令直接获取你的cookie。

非常简单,就一个命令,如果拿到你的电脑,不到半分钟就能获取你的cookie,而有了cookie就能够远程登录。但是黑客可不会这样获取你的cookie,他们会在远处获取你的cookie,这就得提到了XSS。

4.XSS

XSS(跨站脚本攻击)是一种常见的Web安全漏洞,它利用网页开发中未经充分验证的用户输入,向页面注入恶意脚本,从而使得这些恶意脚本在用户浏览器中执行。

XSS攻击流程

  1. 攻击者寻找目标网站存在XSS漏洞的页面,通常是包含用户输入并且没有做充分的过滤或转义的页面,比如搜索框、评论区等。
  2. 攻击者在输入框中注入带有恶意脚本的内容,比如JavaScript代码。
  3. 你访问包含恶意注入的页面时,浏览器会执行恶意脚本,导致攻击者能够窃取用户的Cookie信息,获取你的cookie后能够做出什么事情我上面已经给大家演示过了。

XSS攻击分类

反射型XSS

又称为非持久型XSS,这种攻击往往具有一次性

比如你点击URL后,恶意脚本被发送到服务器,然后服务器返回并执行该脚本,导致攻击成功。

存储型XSS

存储型XSS又称为持久型XSS,比如你在博客或者留言板发帖的过程中嵌入XSS攻击代码,帖子被目标服务器存储在数据库中,当用户进行正常访问时,触发XSS代码。

DOM型XSS

  • DOM-based XSS攻击是一种特殊的XSS攻击,恶意脚本的执行是在客户端而不是在服务器端实现的。
  • 攻击者通过修改页面的DOM环境,比如URL片段或DOM属性,来触发执行恶意脚本。

XSS防范:

必须对输入进行一个过滤,就比如说:<script>alert(1)</script>

看到<script>这种东西一看就知道是XSS攻击,但是魔高一尺,道高一丈,对面也可能进行十六进制编码,或者双写绕过,千变万化,最好的方法就是提高对这些输入的识别,进行及时过滤。

  • 16
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
XSS(跨站脚本)攻击是一种常见的网络安全漏洞,攻击者通过在网页中注入恶意脚本来获取用户的敏感信息,如cookie。根据提供的引用内容,可以看出这是一个XSS攻击的示例代码。 引用\[1\]和引用\[2\]是两种不同的XSS攻击方式。引用\[1\]是通过GET请求将用户的cookie发送到指定的URL,而引用\[2\]是通过POST请求将cookie发送到指定的URL。这些代码都是恶意的,旨在窃取用户的cookie信息。 引用\[3\]是一个PHP脚本,用于接收并记录被窃取的cookie信息。该脚本将接收到的cookie、时间戳和来源URL写入到一个名为"cookie.txt"的文件中。 要防止XSS攻击,网站开发者应该采取以下措施: 1. 对用户输入进行严格的过滤和验证,确保不会执行恶意脚本。 2. 使用安全的编码方式,如将特殊字符进行转义,以防止脚本注入。 3. 设置HTTP响应头中的"X-XSS-Protection"为"1; mode=block",以启用浏览器的内置XSS过滤器。 4. 使用HTTP Only标志来设置cookie,以防止JavaScript访问cookie。 如果您是网站用户,请确保您访问的网站是可信的,并避免在不信任的网站上输入个人敏感信息。如果您是网站开发者,请确保您的网站采取了适当的安全措施来防止XSS攻击。 #### 引用[.reference_title] - *1* *2* *3* [XSS之存储型xss获取cookie试验(ajax方法)](https://blog.csdn.net/qq_34847808/article/details/80681314)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值