HTTP协议基础
Web宏观攻击
一个动态Web的宏观攻击可以分为以下几种:
- Network
- OS
- Web Server Web服务器端
- APP Server 移动服务器端
- Web Application Web应用程序
- Database 数据库,比如sql注入
- Browser 浏览器,比如同源策略,沙箱技术
当今的web攻击类型有几百种,但大部分是针对Web应用程序和数据库的攻击。
HTTP协议基础
明文
HTTP协议是明文协议,无内建的机密性安全机制,简单的嗅探或代理截断便可查看全部明文信息。
而HTTPS也只是对传输的过程进行了加密而已,不代表整个数据流的传递过程都是安全的,只是提高了传输层的安全而已,对于任意节点都是可以发起攻击。(比如中间人攻击,对网络传输的任意节点劫持,然后更改网络数据后再投放到网络中去。)
无状态
每一次客户端和服务器端的通信都是独立的过程,http协议是不可跟踪用户行为信息的,但是web应用却是需要跟踪客户端会话(既是多步通信),此时便需要cookie和session的概念了。
服务器通过cookie来验证用户,然后使用sesison用于在用户身份验证后跟踪用户行为轨迹。若是不使用cookie那么客户端的每次请求都要进行身份验证,显然这是不现实的。
基本上session id和cookie是等同的,客户端可以拿到的是session id。
HTTP header
一次http请求会包含多个header信息,这里只了解与安全相关的header信息。
- Set-Cookie:服务端发送给客户端的Session ID(存在被窃取的风险)
- Content-Length:响应body部分的字节长度,应用场景:用于验证表单暴力破解web账号登陆密码是否成功。
- Location:重定向用户到另一个页面,可识别身份认证后允许访问的页面。
前三个都是响应头,下面是常用的请求头
- Cookie:客服端发回给服务器证明用户状态的信息(使用键值对的形式存放 cookie1:data;cookie2:data...)
- Referrer:发起新请求之前用户位于哪个页面,服务器基于此头的安全限制很容易被修改绕过。
状态码
服务器端响应的状态码表示响应的结果类型,5大类50多个具体响应码。
它们分别是100系列,200系列,300系列,400系列,500系列。
- 100s:服务器响应的信息,通常表示服务器还有后续处理,基本不会单独出现。
- 200s:请求被服务器成功接受并处理后返回的响应结果。
- 300s:重定向,通常再身份认证成功后重定向到一个安全页面(301:表示永久重定向,302临时重定向)
- 400s:表示服务器不接受客客户端,客服端请求错误:
- 401:表示需要身份认证。
- 403:表示拒绝访问,不具备访问权限。
- 404:目标未发现。
- 500s:服务器内部错误(503:表示服务不可用)
当然状态码远远不至于这些,可以通过https://www.w3.org/,这个网站...。
相关推荐
houmenghu 2020-11-17
jincheng 2020-09-01
阳光之吻 2020-08-03
hzyuhz 2020-07-04
服务器端攻城师 2020-06-26
xuanwenchao 2020-06-14
Lophole 2020-06-13
明瞳 2020-06-08
Dreamya 2020-06-03
SoarFly00 2020-06-03
咻咻ing 2020-06-01
三动 2020-05-29
kentrl 2020-11-10
逍遥友 2020-10-26
Blueberry 2020-08-15
xclxcl 2020-08-03
zmzmmf 2020-08-03
PkJY 2020-07-08