Web安全你了解多少(二)- HTTP基础&安全溯源

本文深入探讨了HTTP协议的基础,包括客户端与服务器的交互过程,以及GET和POST请求的区别。同时,文章详细阐述了Web安全的起源,指出了HTTP协议在实现中的安全薄弱环节,列举了如XSS、CSRF等常见Web安全攻击类型,强调了业务逻辑安全中的信任问题。此外,还提供了网络安全学习的建议和资源。

协议基础

HTTP定义了客户端如何从Web服务器请求Web页面,以及Web服务器如何把Web页面传送给客户端

1.客户端连接到Web服务器2.发送HTTP请求通过TCP套接字,向Web服务器发送文本请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成3.服务器接收请求并返回HTTP响应Web服务器解析请求,定位请求资源,将资源副本写到TCP套接字,由客户端读取一个完整的响应 由状态行、响应头部、空行(请求空行)和响应数据(请求体)4部分组成4.释放TCP连接返回响应之后,服务器检测connection状态,若connection模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接若connection模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求5.客户端浏览器解析HTML内容HTTP协议的组成结构

  • 请求方法GET POST , DELETE HEAD OPTIONS PUT TRACE* GET/POST* 从参数传递方面来看GET直接拼接URL,POST参数是放在请求体里面* 从长度限制角度来讲GET一般不超过1024K,POST理论上没有,但浏览器可能有自己的限制* 从安全角度来讲GET明文,安全性低但是从本质上来说,GET POST都是TCP连接,并无本质的区别。由于HTTP/浏览器的限定,导致在应用过程中体现出一些不同。GET产生一个数据包,POST产生两个数据包GET请求,浏览器会把http header 和 data一并发出去,服务器响应200(返回数据)POST, 浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok通过上一篇文章 Web安全你了解多少(一)- 搭建一个django网站 搭建的网站,对比下get post

对于访问资源来讲,GET是最主要的一个应用场景

  • HTTP请求方法 和 响应代码

Web安全起源

Web应用全都建立在http协议基础上,是对http协议的实际应用

在实现http协议的过程中,没有做到足够强大足够充足的约束,导致攻击者能够利用其中的薄弱环节进行攻击

web安全攻防要点

  • 客户端脚本安全* 浏览器安全* 跨站脚本攻击(xss)* 反射型* 存储型* DOM型* 跨站点请求伪造(CSRF)* 点击劫持(Click Jacking)* 网页钓鱼* 服务端应用安全* 认证与会话管理* 访问控制* 加密算法安全* SQL注入攻击* GET注入* POST注入* HTTP头注入* 文件上传漏洞* Web框架漏洞* 拒绝服务攻击 (应用层 传输层)* 开发语言安全* 文件包含漏洞* 变量覆盖漏洞* 代码执行漏洞* Web Server配置安全(容器配置) - 远程命令执行

  • 业务逻辑安全Web安全的本质其实 是 信任问题

协议基础

HTTP定义了客户端如何从Web服务器请求Web页面,以及Web服务器如何把Web页面传送给客户端

1.客户端连接到Web服务器2.发送HTTP请求通过TCP套接字,向Web服务器发送文本请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成3.服务器接收请求并返回HTTP响应Web服务器解析请求,定位请求资源,将资源副本写到TCP套接字,由客户端读取一个完整的响应 由状态行、响应头部、空行(请求空行)和响应数据(请求体)4部分组成4.释放TCP连接返回响应之后,服务器检测connection状态,若connection模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接若connection模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求5.客户端浏览器解析HTML内容HTTP协议的组成结构

  • 请求方法GET POST , DELETE HEAD OPTIONS PUT TRACE* GET/POST* 从参数传递方面来看GET直接拼接URL,POST参数是放在请求体里面* 从长度限制角度来讲GET一般不超过1024K,POST理论上没有,但浏览器可能有自己的限制* 从安全角度来讲GET明文,安全性低但是从本质上来说,GET POST都是TCP连接,并无本质的区别。由于HTTP/浏览器的限定,导致在应用过程中体现出一些不同。GET产生一个数据包,POST产生两个数据包GET请求,浏览器会把http header 和 data一并发出去,服务器响应200(返回数据)POST, 浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok通过上一篇文章 Web安全你了解多少(一)- 搭建一个django网站 搭建的网站,对比下get post

对于访问资源来讲,GET是最主要的一个应用场景

  • HTTP请求方法 和 响应代码

Web安全起源

Web应用全都建立在http协议基础上,是对http协议的实际应用

在实现http协议的过程中,没有做到足够强大足够充足的约束,导致攻击者能够利用其中的薄弱环节进行攻击

### 如何入门网络安全

#### 建议

多看书

阅读永远是最有效的方法,尽管书籍并不一定是最好的入门方式,但书籍的理解需要一定的基础;但是就目前来看,书籍是比较靠谱的入门资料。

现在Web安全书籍比较多,因此大家在学习的过程中可以少走了不少的弯路。如果以上推荐书籍阅读有困难,那就找自己能看得进的 Web 安全的书

当然纸上谈兵终觉浅,最好还是实践一下。

对于那些没有学习方向和资料的同学,可以看下我整理的资源,这份资料经历过社会的实践,可以说是当下全网较全的网络安全知识体系:

①网络安全学习路线

②20份渗透测试电子书

③安全攻防357页笔记

④50份安全攻防面试指南

⑤安全红队渗透工具包

⑥网络安全必备书籍

⑦100个漏洞实战案例

⑧安全大厂内部视频资源

⑨历年CTF夺旗赛题解析

web安全攻防要点

  • 客户端脚本安全* 浏览器安全* 跨站脚本攻击(xss)* 反射型* 存储型* DOM型* 跨站点请求伪造(CSRF)* 点击劫持(Click Jacking)* 网页钓鱼* 服务端应用安全* 认证与会话管理* 访问控制* 加密算法安全* SQL注入攻击* GET注入* POST注入* HTTP头注入* 文件上传漏洞* Web框架漏洞* 拒绝服务攻击 (应用层 传输层)* 开发语言安全* 文件包含漏洞* 变量覆盖漏洞* 代码执行漏洞* Web Server配置安全(容器配置) - 远程命令执行

  • 业务逻辑安全Web安全的本质其实 是 信任问题

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值