web安全day48:session和cookie、同源策略的初步理解
请求头
HOST:用于指定被请求资源的Internet主机和端口号
user-agent:浏览器指纹
referer:当前页面的上一个页面,如果是直接访问,则此项为空
下面是一个get页面
GET /post.html HTTP/1.1 Host: 192.168.1.3 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: close
下面是一个post页面
POST /welcome.php HTTP/1.1 Host: 192.168.1.3 Content-Length: 16 Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 Origin: http://192.168.1.3 Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Referer: http://192.168.1.3/post.HTML Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: closefname=tom&age=12
content-length是数据长度。即“fname=tom&age=12”的长度。
cookies:记录请求者的身份认证信息
accept-charset:用于指定客户端接收的字符集
content-type:用于向接收方指示实体的介质类型,即数据类型
content-length:用于指明实体正文的长度,以字节方式存储的十进制数字来表示
last-modified:用于指示资源的最后修改时间和日期
选中后右键发送到repeater模块,即重放模块,使一个数据包发送多次。
点击send,就会重新发送了。如果我们在这里修改一些内容,就会发送错误的数据了。
响应报文RESPOSE
HTTP/1.1 200 OK Date: Sun, 09 Jan 2022 11:56:22 GMT Server: Apache/2.4.39 (Win64) OpenSSL/1.1.1b mod_fcgid/2.3.9a mod_log_rotate/1.02 Last-Modified: Sun, 09 Jan 2022 11:55:26 GMT ETag: "10a-5d524e55333ad" Accept-Ranges: bytes Content-Length: 266 Connection: close Content-Type: text/html<html> <head> <meta charset="UTF-8"> <title>POST TEST</title> </head> <body><form action="index.php" method="post"> NAME:<input type="text" name="fname"> AGE:<input type="text" name="age"> <input type="submit" value="SUBMIT"> </form></body> </html>
响应报文由状态行、响应头和响应报文组成
1、状态行
协议/版本,状态代码,描述短语
如:协议/版本:HTTP/1.1状态代码:200 描述短语:OK
状态代码
100-199:信息性状态码
200-299:成功状态码
300-399:重定向状态码
400-499:客户端错误状态码
500-599:服务器错误状态码
2、响应头
日期时间:Date: Sun, 09 Jan 2022 11:56:22 GMT
服务器指纹:Server: Apache/2.4.39 (Win64) OpenSSL/1.1.1b mod_fcgid/2.3.9a mod_log_rotate/1.02
资源的最新修改时间:Last-Modified: Sun, 09 Jan 2022 11:55:26 GMT
ETag: "10a-5d524e55333ad"
Accept-Ranges: bytes
正文的长度:Content-Length: 266
Connection: close
Content-Type: text/html
3、响应报文
服务器返回资源的内容,即浏览器接收到的HTML代码
<html> <head> <meta charset="UTF-8"> <title>POST TEST</title> </head> <body> <form action="index.php" method="post"> NAME:<input type="text" name="fname"> AGE:<input type="text" name="age"> <input type="submit" value="SUBMIT"> </form> </body> </html>
cookie与session机制
HTTP协议本身是无状态的协议,HTTP不会记录前一次传输的数据信息,而很多情况下,我们和服务器之间的一个会话不是一个动作就完成了,所以我们希望能在客户端和服务器这个交互的会话期间内,服务器能保持对客户端会话的识别,也就是保持http的状态性。
这就是cookie的功能。
我们可以理解为:网站为了辨别用户身份,进行session(会话)跟踪而存储在用户本地终端上的数据(通常经过加密),用户不用再每一个页面都输入用户名和口令。
session机制
session机制需要借助cookie来实现,但是二者有明显区别,cookie机制将用户的身份认证信息存储在浏览器端,session机制是将身份认证信息放在服务器端,session从一定程度上解决了cookie所面临的窃取和欺骗的风险。窃取的是cookie信息,欺骗的是服务器,二者合一称为固定会话攻*击。
同源策略
禁止JavaScript进行跨域访问的安全策略,它也是浏览器沙盒环境提供的一项制约。
同源策略的条件
url的主机一致
schema一致
端口号一致
同源策略的保护对象不仅仅是iframe内的文档,比如实现ajax时所使用的xmlhttprequest对象能够访问的url,也受到了同源策略的限制。
web安全day48:session和cookie、同源策略的初步理解相关推荐
- 以微信公众号爬虫为例,谈谈对session、cookie和token认证的理解
为什么需要这些认证 我们通过浏览器访问多数网站,本质上都可以理解为客户端(用户)和服务端(网站)之间的一次遵循http协议的请求和应答,比如:把a页面给我(返回a.html),删除b图片(删除b.jp ...
- 初识web安全2--被动攻击与同源策略
0x01 被动攻击 针对web应用程序的攻击可以分为主动攻击(Active Attack)和被动攻击(Passive Attack) 1.主动攻击:指的是攻击者直接攻击服务器 2.被动攻击:攻击者并不 ...
- [ web基础篇 ] session,cookie,token 那些事儿 ?
- 漫谈同源策略(SOP)和跨域资源共享(CORS)
前言提要: 面试的时候被问到了是否了解同源策略,并没有了解过 (虽然朋友洋写了文章,但是我当时也没有仔细琢磨).所以有了这篇文- 据说了解同源策略是十分有必要的,要深入了解XSS/CSRF等w ...
- 同源策略及其绕过详解
同源策略及其绕过详解 前言 最近在看吴翰清写的 白帽子讲 web安全 一书,遇到同源策略一词,我便开始深入学习相关内容,查阅了许多资料后,写该博客梳理.记录所学知识 基础知识 Origin(源) Or ...
- 新蜂商城(newbee-mall-api)部分接口实验,跨域处理(同源策略,跨域访问,CORS),系统安全问题(Session,Cookie,Token,OAuth)(软件工程综合实践课程第十三周)
文章目录 一.要求 二.知识总结 跨域处理 1.同源策略 1.1 浏览器的同源策略 1.2 跨域请求实验 2 跨域访问 2.1 添加响应头来处理跨域 2.1.1 CORS 跨域资源共享 2.1.2 设 ...
- 浏览器同源策略及Cookie的作用域
所谓"同源"指的是"三个相同": 1.协议相同 2.域名相同 3.端口相同 当着三个地方相同才算同源 例如:http://www.example.com:888 ...
- Session or Cookie?是否有必要使用Tomcat等一下Web集装箱Session
Cookie是HTTP协议标准下的存储用户信息的工具.浏览器把用户信息存放到本地的文本文件里. Session是基于Cookie实现的. 2011年4月,武汉群硕面试的时候(实习生).面试官也问过这个 ...
- java session 永不过期_Java Web Application使Session永不失效(利用cookie隐藏登录)
在做 Web Application 时,因为 Web Project 有 session 自动失效的问题,所以如何让用户登录一次系统就能长时间运行三个月,就是个问题. 后来,看到 session 失 ...
- python mssql session_python的web框架webpy【session amp; cookie】五 - 莫激动 - ITeye博客
webpty中使用session非常简单 import web web.config.debug = False urls = ( "/count", "count&qu ...
最新文章
- 循环控制结构程序05 - 零基础入门学习C语言20
- vue的Virtual Dom实现- snabbdom解密
- json动画_three.js动画(四)
- UserThreadLocal 用户线程Token拦截验证
- wampServer2.1错误(Could not execute menu item (internal error)
- win7无法连接打印机拒绝访问_如何解决局域网无法访问SQL Server 2008 无法连接到(local)...
- 计算机设备投标标书范本,OA办公自动化系统投标文件(标书范本)
- 学习计划(11.5)
- Java学习:抽象类与接口
- linux内核编译选项ccl,嵌入式Linux学习笔记(一)
- 异常处理-try catch
- 开发小技巧: 如何在jQuery中禁用或者启用滚动事件.scroll
- 星际2 BETA客户端背景音乐打包下载(附提取方法)
- Allegro gerber文件路径设定
- 如何使用Blender制作360度全景图和全景视频?
- Mac重启和关机没反应解决办法
- php.ini reporting,php.ini中error_reporting参数配置
- NFT: 开启加密艺术时代的无限可能
- 小波自适应阈值选取python_小波去噪阈值如何选取_小波阈值分析 - 全文
- neo4j-ogm-core使用小记