06. http协议基础,带你了解网络访问
渗透测试学习路径
- 计算机基础
- 网络基础
- WEB漏洞
- 渗透测试
渗透测试和WEB安全漏洞的区别?
-
渗透测试包含WEB安全漏洞
-
WEB网站只是单一的网站服务,在渗透测试过程中可能不是攻击网站,而是寻找其他服务漏洞,如数据库、FTP等
-
渗透测试覆盖面更为广泛,需要考虑如何深入利用漏洞使得攻击效果最大化
如提权、内网攻击、域环境攻击、制作免杀后门等
渗透测试学习路径 - 计算机网络基础
- TCP/IP 体系结构 - 网络通信的基础
- HTTP 协议 - 网站访问的基础
- 其他协议 - HTTPS、ARP、ICMP、DNS
网络连接的核心 - TCP/IP 体系结构(IP和端口)
什么是IP地址
- IP地址是电子设备(计算机)在互联网上的一个标识
- 用来在互联网中寻找电脑
网络连接的核心 - IP地址和端口
什么是IP地址
张三的个人电脑和合天网安实验室能互通的前提条件是能够互相找到对方的地址,也就是IP地址
内网(局域网)IP和公网(互联网)IP
-
内网IP:路由以内的网络,可以连接互联网,但是互联网无法直接连接内网(需要端口映射)
-
优点:安全、解决IPv4地址耗尽问题
-
缺点:互联网无法直接连接至内网,比如在自己电脑上搭建一个网站,只有和你使用同一个路由器网络的人才能访问
-
公网IP:顾名思义,互联网IP地址
-
优点:可以直接和互联网资源互通,日常应用如摄像头远程监控、电脑远程开机、NAS等
-
缺点:安全性较低,IPv4地址耗尽
-
怎样判断自己电脑的IP地址是公网或内网?
-
如果使用了路由器,一定是内网,一般一个公司或小区共用一个公网IP地址
-
在电脑命令行输入ipconfig查看以太网IP地址
(* macos及linux系统为ifconfig * 如果连接的是wifi,则查看无线网络适配器IP地址)
-
打开百度输入IP,查看IP地址,如不一样,则使用的是内网IP
-
内网IP地址范围:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
什么是TCP逻辑端口(以下课程简称”端口“)
- 端口是应用程序(服务)在计算机中的唯一标识
- ”端口“是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由内的端口,不可见。
什么是端口
合天网安实验室服务器不止一个应用程序
张三个人计算机也不止一个一个应用程序
源端口(客户机)端口随机,目标(服务器)端口固定开启监听。端口范围为0 - 65535
怎么查看自己开启了哪些端口
- windows系统:netstat -ano
- Linux系统:netstat -anltup
网站访问的实现
Browser(浏览器)Server(服务器)架构
HTTP超文本传输协议
什么是HTTP
传输协议定义了浏览器和客户端传输数据的格式
HTTP协议特点
- 基于tcp/ip协议
- 默认端口号为80
- 请求和响应一一对应
- 每次请求相互独立,是无状态协议
请求消息-request
Get /pages/jointLaboratory.jsp HTTP/1.1
Host: www.hetianlab.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/89.0.4389.90 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml
Referer: https://www.hetianlab.com/
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,la;q=0.8,en;q=0.7
-
HTTP常见有八种请求方式,常用GET、POST
-
GET请求:
请求参数在URL地址中,URL有长度限制
GET请求只能传输字符数据
-
POST请求:
请求参数在请求体中,无大小限制
POST请求可以传输字符或字节数据
GET请求
GET /pages/search.jsp?wk=11 HTTP/1.1
Host: www.hetianlab.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90
Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml
Referer: https://www.hetianlab.com/
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,la;q=0.8,en;q=0.7
POST请求
POST /pages/search.jsp HTTP/1.1
Host: www.hetianlab.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90
Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml
Referer: https://www.hetianlab.com/
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,la;q=0.8,en;q=0.7
Content-Type: application/x-www-form-urlencoded
wk=111
请求头
Host:请求主机域名/ip地址
User-Agent:告诉服务器浏览器的版本信息,供服务器解决浏览器兼容问题
Accept:传输文件类型
Referer:告诉服务器从哪里来
Cookie:储存在用户本地终端上的数据
Cookie:ccf3a130053aa89a7bd8e882378f53bda224924636fba20
响应消息-response
HTTP/1.1 200 OK
Server: Tengine
Date: Tue, 30 Mar 2021 08:47:59 GMT
Content-Security-Policy: upgrade-insecurity-request;connect-src *
Content-Type: text/html
Vary: Accept-Encoding
ETag: W/“6045-1616753828000”
Last-Modified: Fri, 26 Mar 2021 10:17:08 GMT
Content-Encoding: gzip
响应状态码
响应状态码:服务器告诉浏览器本次请求和响应的状态
1xx:服务器接收浏览器消息未完成,发送1xx状态码
2xx:成功,200
3xx:重定向,302,304(访问缓存)
4xx:客户端错误,404(没有找到对应资源)
403 405(请求方法不被允许)
5xx:服务器错误,500(服务器内部出现异常)