HTTP协议原理与实践精讲视频+课件实验环境(网安读懂Web通信底层)
地址:5号服务器---VIP资料下载七区\VIP专题教程一区**** Hidden Message *****
HTTP协议原理与实践精讲视频+课件实验环境(网安读懂Web通信底层) 我看了一遍TCP/IP协议详解卷一,了解了TCP的运作机制。然后论文与日常安全工作均与HTTP有关。但是不知道HTTP协议如何进行学习。现在在看RFC2616,看得超郁闷啊。HTTP到底怎么学习呢?这套全套HTTP协议精讲视频+课件实验环境全是干货,可以帮你迅速掌握精通HTTP协议
1.HTTP概述
1)HTTP协议:用于实现客户端和服务器的通信
2)统一资源定位符URL:用于明确请求的目标服务器和网页
3)文本标记语言HTML:用于编写网页
4)URL和URI的区别
只要能唯一“标识资源”的就是URI,在URI的基础上给出其资源的访问方式的就是URL
例如“www.huawei.com/hcip-sec” -URI
例如“http://www.huawei.com/hcip-sec” -URL
2.什么是超文本传输协议-HTTP
1)经典C/S场景,也就是Client To Server
2)Client发送Request-请求,Server回复Response-应答
3)网页抓包工具:Fiddler Web Debugger
4)实操一:访问P1链接,并查看抓包请求和应答
Client-PC 用户名:admin 密码:Cisc0123
OpenSSL 用户名:root密码:Cisc0123
MySQL 用户名:root密码:Cisc0123
问题:如果出现OpenSSL和MySQL导入后,网卡无法打开怎么办?
原因是:克隆的Centos,网卡MAC地址和原有的MAC不匹配
1.查看网卡,不正常情况如下
lo Link encap:Local Loopback
inet addr:127.0.0.1Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNINGMTU:65536Metric:1
RX packets:24 errors:0 dropped:0 overruns:0 frame:0
TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1968 (1.9 KiB)TX bytes:1968 (1.9 KiB)
2.查看和修改70-persistent-net.rules(命令可以使用“Tab”补全)
vi /etc/udev/rules.d/70-persistent-net.rules
1)不正常的显示如下,有两个
# PCI device 0x8086:0x100f (e1000)
# SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:74:39:83", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:96:11:22", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
2)你需要将“eth0”这行删除
3)然后将第二个网卡信息,后面的eth0改为eth1
3)wq保存
3.修改网卡配置中的MAC
vi /etc/sysconfig/network-scripts/ifcfg-eth0
1)删除UUID
2)将HWADDR后面的MAC改为第二步中,第二个网卡信息的MAC地址
3.HTTP无状态化特性
1)无状态化特性指HTTP本身无法保存任何相关状态信息
例如,淘宝添加衣服到购物车,下一秒购物车还是空的
2)解决问题的方法有两种:
① 隐含参数:通过网页后台代码,将信息同步给下一个网页
② Cookie(后面讲)
3)实操2:访问链接P2,分析网页信息的同步过程
4.GET和POST
1)GET和POST都可以从服务器上获取网页/推送信息
2)不同之处在于,GET直接讲推送的信息包含在网址中发送,而POST则是有一个独立的存储空间
3)所以,绝大多数情况下,都会使用POST来实现数据的获取和信息的推送
4)实操3和实操4,访问链接P3和P4,分析GET和POST推送信息的区别
5.哑服务特性
1)命令行连接到HTTP服务器上后,HTTP服务器不会主动进行互动
6.瞬时协议特性
1)HTTP建立一个连接,发送一个请求和得到一个回复后,立刻断开,这回导致效率极低
2)解决问题的方法有两种:
① Keep Alive 持久连接 一个连接内可以按顺序发送多个请求和回复
② 管道化 一个连接内可以同时发送多个请求,同时得到多个回复
7.Cookie
1)能够实现HTTP信息存储
2)服务器依据客户端发送的相关信息生成Cookie,然后将Cookie发送给客户端
3)客户端后续只需要发送Cookie即可实现类似于免认证的功能
4)实操5:访问链接P5,分析Cookie的生成和使用
8.2XX系列状态码
1)200 代表一切正常,访问成功,无需执行任何操作
2)204 客户端发送请求和数据给服务器,服务器接收后发现无需执行任何更新,即回复204
3)206 客户端请求文件的某一个片段,服务器使用206进行回复
实操:访问链接P1,测试状态码200,并通过抓包分析
实操:访问链接P6,测试状态码204,并通过抓包分析
9.3XX系列状态码
1)301 永久重定向,即访问的资源已被转移到另一个目的,服务器通过301告诉并引导客户端访问正确的目的
2)302 临时重定向,常用于安全设备的用户认证,安全设备通过发送302要求客户端前往指定目的网页进行认证
3)303 与302结合使用,当用户认证成功,服务器发送303告知客户可继续访问下去
4)304 客户端发送请求,但网页没有任何更新,服务器回复304
实操:访问链接P7,测试状态码301,并通过抓包分析
实操:访问链接P9,测试META,并通过抓包分析
10.4XX系列状态码
1)400 当客户端发送一个服务器无法理解的请求时,服务器回复400
2)401 当客户端访问服务器网页,且该网页需要认证才能登陆时,服务器会发送401告知客户端先做认证
3)403 当客户端访问一个没有权限访问的网页时,服务器回复403
4)404 当客户端访问一个不存在的网页时,服务器回复404
实操:访问链接P10,测试状态码400,并通过抓包分析
实操:访问链接P11,测试状态码403,并通过抓包分析
实操:访问链接P12,测试状态码404,并通过抓包分析
11.5XX系列状态码
1)500 当服务器存在内部错误时,例如网页编写脚本错误,服务器给客户端回复500
2)503 当服务器的HTTP/HTTPS服务器没有开启时,服务器给客户端回复503,常见于服务器停机维护的情况
12.首部字段
1)一共三种类型的首部字段
① 通用首部字段:在请求包和响应包均会出现
② 请求首部字段:只会在请求包中出现
③ 响应首部字段:只会在响应包中出现
2)通用首部字段
Cache-Control:用于明确哪些信息可以缓存,哪些信息不能缓存(例如用户个人信息)
Connection:通过Connection字段来实现Keep-Alive功能
Upgrade:用于检测HTTP协议及其他协议是否可使用更高的版本进行通信
Warning:网页告警
3)请求首部字段
Accept:用于客户端告知服务器,能够接收的“媒体类型”,可通过优先级q来区分资源需求的先后顺序
字符集:网页文字的正常显示,需要字符集的支持
Accept-Charset:用于客户端告知服务器,所想要使用的字符集
Accept-Encoding:用于客户端告知服务器,所支持的压缩方式
Accept-Language:用于客户端告知服务器,所使用语言
Authorization:用于客户端告知服务器,客户端输入的认证信息
Host:用于客户端告知服务器,请求的资源所处的互联网主机名和端口号
Referer:用于客户端告知服务器请求的原始资源的URI,可直接被读取
User-Agent:通过“User-Agent”字段,客户端会将创建请求的浏览器和用户代理名称等信息传达给服务器
Location:将响应接收方引导至某个与请求URI位置不同的资源
Server:用于服务器告知客户端当前服务器上安装的HTTP服务器应用程序的信息,有信息泄露风险,请注意优化
WWW-Authenticate:服务器会告知客户端使用哪种认证方式
4)实体首部字段
Set-Cookie:服务器发给客户端
Cookie:客户端发给服务器
Set-Cookie字段:Path&Domain 决定了客户端能访问的范围
Secure 仅在HTTPS安全通信时才会发送Cookie
HTTPOnly 加以限制,使Cookie不能被JavaScript脚本(不安全)访问
13.HTTPS协议
1)主要使用TLS1.0\1.1\1.2版本来对HTTP流量进行保护,SSL2.0\3.0已经不再使用
2)TLS分为两层:上层和底层
上层主要分为4个部分
1> 握手协议,用于实现通信双方协商连接参数,并完成身份验证
2> 警报协议,目的是以简单的通知机制告知对端通信出现异常状况
3> 应用数据协议,应用数据协议携带着应用消息(原始数据)
4> 密钥规格变更协议,通知对端使用新协商的加密套件和密钥对数据进行保护
底层只有一个部分
5> 底层是记录协议,主要负责对上层的数据进行分块、添加散列值值、加密,传输给对端
3)HTTPS单向认证和双向认证
① 单向认证:服务器通过证书(身份证)来证明自己的合法性,客户端无需认证
② 双向认证:服务器和客户端都通过证书(身份证)来证明自己的合法性
实操:访问链接P16,来实现HTTPS的访问
14.HTTP认证
1)基础认证-明文,通过用户名密码来做认证
2)摘要认证-在基础认证之上,添加了散列值,通过散列值来进行验证,无需发送密码
3)SSL/TLS证书认证:使用证书(身份证)来执行认证
4)表单认证:网页链接到数据库,使用专用的数据库来执行认证
实操:访问链接P17、18、19,观察基础认证、摘要认证、表单认证的过程
软件注册码应该是:JU090-6039P-08409-8J0QH-2YR7F 内容比较丰富,先学习一下,安全很重要
需要学习HTTP,这些是好资料啊 看看 非常感谢 never back down 谢谢分享EMB_10 感谢分享 EMB_12 不正常的显示如下 thanks a lot HTTP协议原理 学习 本帖最后由 concio 于 2024-1-18 00:27 编辑
good 学习一下 EMB_01
地址:5号服务器---VIP资料下载七区\VIP专题教程一区 kan kan 不错的资料,谢谢分享 感谢楼主分享。 EMB_17 HTTP协议原理与实践精讲视频+课件实验环境(网安读懂Web通信底层) [复制链接]
不错支持一下 谢谢分享 滴答滴答滴答滴答滴答滴答哒哒哒哒哒哒哒哒哒 好东西,多谢分享!
页:
[1]
2