Web技术发展
1.静态Web
- 攻击手段都是针对Web应用程序,lls服务,apache等程序
2.动态Web
-
动态Web最大的特点就是可以接受客户端提交的数据,,根据用户的输入返回不同的结果,从而实现各式各样的应用。
-
针对web应用程序代码进行寻找漏洞,从而攻击等等。
动态Web攻击面
- Network
- Os
- Web server
- App server
- Web application
- Database
- Browser
http协议
1.明文
-
没有任何内建的机密性安全机制,完全以明文的方式传输信息不管是客户端的请求,还是服务端的返回,全部都是明文传输。
-
在相关的节点上进行嗅探或代理截断可查看全部明文信息
-
https只能对传输过程进行加密,对应用程序段以及服务端的漏洞完全是无能为力的
2.无状态
-
每一次 客户端和服务端的通信都是独立的过程
-
Web状态需要跟踪客户端会话(多步通信)
-
不使用cookie的应用,客户端每次请求都要重新进行身份验证,访问一个页面提交一次验证码,导致没人使用。
-
Session用于在用户身份验证后跟踪用户的行为轨迹(保持回话使用到的),session id从某种意义上来说等同于cookie,实际上cookie可以存放session id,真正的session是存放在服务端的,客户端拿到的只是一个session id 。
3.http协议基础
Cycle
- HTTP请求或响应,一请求一响应就构成了http的基本单元,通常把这个单元叫做cycle
Header头部信息
-
客户端发出请求的时候通常都会带着标准的http头,服务端响应的时候也会有http头,请求和响应都是由header及body组成的,一次请求都会包含多个http头部分
-
Set-cookie:服务端发给客户端的session id,session id就是放在set-cookie这个头里面(存在容易被盗取的风险)
-
Content-length :响应body部分的字节长度(已经排除header部分的字节)
-
Location:重定向用户到另一界面,可识别身份认证 后允许访问的页面
-
Cookie:客户端发回给服务器证明用户状态信息的(头:值 成对出现,一个头对应一个值)
-
Referrer:发起新的请求之前,表示用于位于的上一个页面是哪里,服务器基于此头的安全限制很容易被修改绕过(因为这个头是由客户端来发送的,可以认为进行修改)
4.状态码
服务端响应的状态码表示响应的结果类型(5大类50多个具体响应码)
-
100s:服务器响应的信息,通常表示服务器还有后续的处理,很少出现
-
200s:请求服务器成功接收并处理后返回的响应结果
-
300s:重定向,通常在身份认证成功后重定向到一个安全界面(301/302)
-
400s:表示客户端请求错误
- 401:需要身份认证
- 403:拒绝访问
- 404:目标未发
-
500s:服务器内部错误(服务不可用)
-
跟多的状态码可以去该网站查询:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
-
想要了解http访问流程的可以移步这个文章https://blog.csdn.net/weixin_44344395/article/details/103386625