江西龙峰建设集团的网站,wordpress后台登陆不进去,电商网站开发团队,计算机专业都学什么文章目录 前言1. HTTP1 . 1 协议特点1 . 2 URL1 . 3 Request请求报文1 . 3 .1 请求行1 . 3 .2 请求头1 . 3 .3 请求正文1 . 3 .4 常见传参方式 1 . 4 Response响应报文1 . 4 .1 响应行1 . 4 .2 响应头1 . 4 .3 响应正文 2. Web会话2 .1 Cookie2 .2 Session2 .3 固定会话攻击 前… 文章目录 前言1. HTTP1 . 1 协议特点1 . 2 URL1 . 3 Request请求报文1 . 3 .1 请求行1 . 3 .2 请求头1 . 3 .3 请求正文1 . 3 .4 常见传参方式 1 . 4 Response响应报文1 . 4 .1 响应行1 . 4 .2 响应头1 . 4 .3 响应正文 2. Web会话2 .1 Cookie2 .2 Session2 .3 固定会话攻击 前言
Web机制客户端用户、浏览器 服务端Web容器中间件数据库。
1. HTTP
HTTPHyper Text Transfer Protocol超文本传输协议是浏览器与服务端之间的通信协议。
HTTP将HTML文档传输到Web历览器中进行访问。HTTP是一个请求和响应的协议浏览器发出请求服务端向请求做出回应。
HTTP在网络中传输是以明文的形式所以就会产生明文传输漏洞。为了解决这个问题可以使用加强版的HTTPS协议其在HTTP的基础上加上了一个安全套接字层SSL但也会存在如 HTTPS 降级等漏洞问题。
HTTP 默认端口为80HTTPS 默认端口为 443。
1 . 1 协议特点
HTTP是一个请求和响应的协议浏览器发出请求服务端向请求做出回应。
采用B/S架构模式浏览器/服务器协议是无状态的协议浏览器向服务器发出请求时只需传输请求方法和请求路径允许传输任意类型的数据对象
1 . 2 URL
URLUniform Resource Locator统一资源定位符是全球唯一的用来告诉Web容器浏览器请求资源的路径。
标准格式
schema://login:passwordaddress:port/path/to/resource/?query_string#fragmentURL参数说明实例schema协议httplogin:password用户名密码address服务器地址IP192.168.109.100port端口号80path/to/resource请求资源路径/cms/index.htmlquery_string请求参数namedaifragment锚点
例子
# http
http://192.168.109.100/cms/
# ftp
ftp://ftpuser:ftppassword192.168.109.100URL编码URL从Path开始只能出现A-Za-z0-9,-_.~其他符号都会被URL编码。
符号URL编码#%23%20%26%3e
1 . 3 Request请求报文
HTTP 请求报文由 请求行、请求头、请求正文 三部分组成。下面是一个完整的HTTP请求报文
GET /cms/ HTTP/1.1
Host: 192.168.109.100
Cache-Control: max-age0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.125 Safari/537.36
Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/avif,image/webp,image/apng,*/*;q0.8,application/signed-exchange;vb3;q0.9
Referer: http://192.168.109.100/
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q0.9
Connection: close1 . 3 .1 请求行
请求行是报文的第一行由空格字符将其分为三部分所以空格等字符不能随便出现。
GET /cms/ HTTP/1.1说明
列数说明例子1请求方法GET2资源路径/cms/3协议版本HTTP/1.1
请求方法总结
请求方法说明GET用于请求服务器发送某个资源POST提交表单或上传文件HEAD请求资源但只请求头部不请求正文OPTIONS测试服务器所支持的方法TRACE回显浏览器的请求PUT向服务器写入文档DELETE请求服务器删除指定资源
1 . 3 .2 请求头
从请求报文第二行开始到第一个空行为止的内容。请求头包含了很多字段。
请求头字段说明Host指定被请求资源的服务器地址和端口号User-Agent浏览器信息浏览器指纹Referer当前URL的上一个URLCookie请求者的身份信息类似于身份证Content-Type指明实体的介质类型Content-Length指明实体的正文长度Authorization基本认证
1 . 3 .3 请求正文
一般为POST方法第一个空行以后的内容。
1 . 3 .4 常见传参方式 POST传参 提交的参数放在请求正文中。 GET传参 向服务器提交的参数存放在URL中例如 ?namedai向服务器传输多个参数用 连接。
1 . 4 Response响应报文
响应报文由 响应行、响应头、响应报文 三部分组成。下面是一个完整的HTTP响应报文
HTTP/1.1 200 OK
Date: Mon, 05 Aug 2024 02:43:55 GMT
Server: Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45
X-Powered-By: PHP/5.4.45
Content-Length: 7314
Connection: close
Content-Type: text/html; charsetutf-8!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
html xmlnshttp://www.w3.org/1999/xhtml
head
meta http-equivContent-Type contenttext/html; charsetutf-8 /
。。。。。1 . 4 .1 响应行
响应报文的第一行。
HTTP/1.1 200 OK说明
列数说明例子1协议版本HTTP/1.12响应状态码2003描述短句OK
常见响应状态码
状态码类型常见状态码1XX信息性状态码–2XX成功状态码200、2013XX重定向状态码302、3044XX客户端错误状态码404、4035XX服务端错误状态码500
1 . 4 .2 响应头
从响应报文第二行开始到第一个空行为止的内容。响应头包含了很多字段。
Date: Mon, 05 Aug 2024 02:43:55 GMT
Server: Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45
X-Powered-By: PHP/5.4.45
Content-Length: 7314
Connection: close
Content-Type: text/html; charsetutf-8说明
响应头字段说明Date时间ServerWeb服务器指纹Refresh服务器端告知浏览器定时刷新浏览器Content-Length正文长度Connection连接Content-Type响应正文的类型Set-Cookie服务器向浏览器端写入Cookie信息
1 . 4 .3 响应正文
浏览器接收到的HTML代码服务器返回的资源内容。
2. Web会话
当我们进行网购时选择商品、加入购物车、付款这一系列流程都是需要保持用户登录状态的。Web会话技术就是用来管理Web应用程序在多个页面和请求之间保持用户登录状态的一种技术。
HTTP协议本身是无状态的协议所以HTTP协议不会记录会话状态不同的请求之间是没有任何联系的。所以我们希望在浏览器与服务器交互的这个会话期间服务器可以保持对浏览器会话的识别也就是保持HTTP的状态。
2 .1 Cookie
CookieCookies技术就是我们用来辨别用户身份进行会话跟踪而存储在本地终端上的一段文本。它由服务器在进行HTTP响应的时候发送给浏览器每当浏览器向服务器发送请求的时候它会自动将响应的Cookie包含在请求中如果服务器识别了这个自动发送的Cookie信息那么服务器就识别了会话。
2 .2 Session
Session 是一种可以保留更多信息在服务端的一种技术服务器会为每一个客户端开辟一块内存空间Session对象客户端在发送请求的时候都可以使用之间的Session。
2 .3 固定会话攻击 窃取 F12在命令行执行。 alter(document.cookie)获取到Cookie信息 usernameadmin; userid1; PHPSESSIDmcm25gpg74qp4gpn9sv54tj754进行欺骗 在没有Cookie信息的时候我们将这三条命令根据Cookie进行替换在命令行执行再次刷新就可以进去。 document.cookie usernameadmin;;
document.cookie userid1;;
document.cookie PHPSESSIDmcm25gpg74qp4gpn9sv54tj754;