1.HTTP特点:
1.请求应答模式。
2.灵活可扩展
3.可靠传输
4.无状态。
这里给大家举一个例子:
HTTP是无状态的,所按理来说我每进行一次会话,比如我在CSDN发一个帖子,好像按理来以说我都要进行一次重新登陆,可是实际之中为什么不是这样的呢?这里必须引入一个概念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=12345
和 session_token=abcdef
),以及一些属性(Expires
、Path
、Secure
和HttpOnly
)。
而且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攻击流程
- 攻击者寻找目标网站存在XSS漏洞的页面,通常是包含用户输入并且没有做充分的过滤或转义的页面,比如搜索框、评论区等。
- 攻击者在输入框中注入带有恶意脚本的内容,比如JavaScript代码。
- 你访问包含恶意注入的页面时,浏览器会执行恶意脚本,导致攻击者能够窃取用户的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攻击,但是魔高一尺,道高一丈,对面也可能进行十六进制编码,或者双写绕过,千变万化,最好的方法就是提高对这些输入的识别,进行及时过滤。