网络安全基础知识——渗透测试基础及HTTP协议

1. 渗透测试

  • 概念:模拟黑客的真实攻击方法对网络进行非破坏性质的攻击性测试,从而找出信息系统中存在的缺陷和漏洞。然后以渗透结论为依据,对整个系统中存在的高危漏洞进行安全加固。
  • 学习方面:计算机基础、网络基础、常见WEB漏洞、渗透测试
  • 渗透测试流程:
    • 前期交互(和甲方进行交流,对哪些资产进行探测)
    • 信息收集(拿到“拟攻击”对象更多的网站和机器,才能进行更好的渗透)
    • 漏洞探测
    • 渗透攻击
    • 后渗透攻击(阻止防御者信息收集,销毁行程记录,隐藏存留文件)
    • 信息整理
    • 渗透测试报告(提交给甲方)

2. IP地址

  1)IP地址是计算机在互联网上的唯一标识

  2)内网(局域网)IP和公网(互联网)IP

  • 内网IP:路由以内的网络,可以连接互联网,但互联网无法直接连接内网
    • 优点:安全、解决IPv4地址耗尽问题
    • 缺点:比如自己在电脑上搭建一个网站,,只有和你使用同一个路由器网络的人才能访问
  • 公网IP
    • 优点:可以直接和互联网资源互通,日常应用如摄像头远程监控、电脑远程开机、NAS等
    • 缺点:安全性低,IPv4地址资源耗尽、

   3)公网IP(小区地址)、内网IP(具体门牌号)

   4)cmd 上ipconfig显示的是内网IP,百度上搜到的是公网IP

3. 端口

  • 端口是应用程序在计算机中的唯一标识
  • 用户去访问不同的应用就是在访问不同的端口
  • 怎么查看自己开启了哪些端口:netwtat -ano(Windows)、netstat -anltup(Linux)

4. HTTP协议

  1)HTTP(Hyper Text Transfer Protocol,超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。

  2)HTTP是一个基于请求于响应、无状态的、应用层的协议,常基于TCP/IP协议传输数据,互联网应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。

  3)设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。

  4)HTTP传输协议定义了浏览器和客户端传输数据的方式。

  5)基于TCP/IP协议,默认端口号为80

  6)HTTPS

  • 全称:Hyper Text Transfer Protocol over Secure Socket Layer,就是HTTP的安全版,身披SSL外壳的HTTP。
  • HTTPS = HTTP + SSL/TLS
  • HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。
  • HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性

  7)常见的请求方式有八种(不止),常用的为GET、POST

  • GET请求:搜索某一网页;请求参数放在URL中,URL有长度限制;GET只能传输字符数据。
  • POST请求:登陆时上传账号密码;请求参数在请求体中,无大小限制;POST请求可以传输字符或字节数据;多了一行Content Type

  8)HTTP由四个部分组成:请求行、请求头部、空行、请求数据

  • 请求行:请求方法、  URL、    协议版本、  CRLF(标识回车和换行)

        GET       /pages/joint.jsp      HTTP/1.1

  • 请求头部:头部字段名、值(在HTTP/1.1协议中,所有的请求头除Host外都是可选的)
    • Host:请求的服务器的域名和端口号
    • Content-Length:请求内容的长度
    • Accept:客户端能接受的内容类型
    • Referer:先前网页的地址,当前请求网页紧随其后(比如xx在百度上打广告,看用户从百度进来的人有多少,从而判断打广告的效益);防盗链(有些电影网站当你点击一个电影时,会跳转至腾讯视频播放,但是腾讯不允许这么做,所以腾讯会判断用户是不是从腾讯首页而来)
    • Origin:指明当前请求来自于哪个站点
    • Cookie:HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给Web服务器(HTTP不能记录用户的登陆状态,比如你想访问清华大学的贴吧,这时候需要先登陆百度的账户,等你进入百度贴吧后再次进入清华大学的贴吧,就不用再输入密码了,依赖于cookie,类似古代皇帝的令牌)。
    • x-forwarded-for:localhost(127.0.0.1)
    • accept-language:接受的语言代码
    • user-agent:服务器通过这个判断请求是来自什么设备
  • 请求数据:username、password

  9)服务器的响应信息-response

  • 组成:状态行(协议版本、状态码、状态码描述)、消息报头(头部字段名、值)、空行、响应正文
  • 响应行
    • 协议及版本    响应状态码    状态码描述

      HTTP/1.1     200(正常)    OK

  • 响应状态码:服务器告诉浏览器本次请求和响应的状态
    • 1xx:服务器接收浏览器信息未完成
    • 2xx:成功
    • 3xx:重定向(跳转),302(访问控制,在携程上买火车票,但是本来没有的,然后返回一个跳转携程的火车票网站的信息),304(访问缓存,浏览APP时的开屏广告)
    • 4xx:客户端错误,404(没有找到对应资源)、405(请求方法不被允许)
    • 5xx:服务器错误,500(服务器内部出现异常,过度拥挤,不断刷新等待)

  10)HTTP工作流程

  • 客户端通过TCP三次握手与服务器建立连接
  • TCP建立连接成功后,向服务器发送HTTP请求
  • 服务器收到HTTP请求后,向客户端发送HTTP响应
  • 客户端通过TCP四次断开,与服务器断开TCP连接

  11)在HTTP0.9和HTTP1.0中,TCP连线在每一次请求/回应对之后关闭

     在HTTP1.1中,引入了保持连线的机制,一个连接可以重复在多个请求/回应使用,持续连线的方式可以大大减少等待的时间,因为在发出第一个请求后,双方不需要重新运行TCP握手程序。

  12)Cookie

  • 网站为了辨别用户身份,存储在用户本地终端上的数据,Cookie是服务端生成的,发送给客户端(浏览器)的。
  • 工作原理:
    • 创建Cookie:用户浏览网站,用户服务器生成唯一标识码(Cookie id),默认一般是会话级别的,存储在浏览器内存中。将cookie放入到HTTP响应报头,将cookie插入到一个set-cookie HTTP响应报头中。
    • 设置存储cookie:浏览器收到响应报文后,根据其里面的set-cookie特殊的指示,生成响应的cookie,保存在客户端。该cookie里面记录着用户当前的信息。
    • 发送cookie:用户再次访问该网站时,浏览器首先检查所有存储的cookied,如果存在某个网站的cookie,则把该cookie附在请求资源的HTTP请求头上发送给服务器。
    • 读取cookie:服务器收到用户的HTTP请求报文之后,从报文头获取到用户的cookie,从里面找到所需要的东西。
  • Cookie的根本作用就是在客户端存储用户访问网站的一些信息
    • 记住密码,下次自动登陆
    • 购物车功能
    • 记录用户浏览数据,进行商品(广告)推荐
    • 会被附加在每个HTTP请求中,无形中增加了流量
    • 由于在HTTP请求中Cookie是明文传递的,安全性问题(除非用HTTPS)
    • Cookie大小限制在4KB左右,对于复杂的存储需求来说是不够用的
  • Cookie总是保存在客户端中,按在客户端中的存储位置分为内存Cookie和硬盘Cookie
    • 内存Cookie:由浏览器维护,保存在内存中,浏览器关闭后就消失了,存在短暂
    • 硬盘Cookie:保存在硬盘,有过期时间,除非手工清理或到期,硬盘Cookie不会被删除,其存在时间是长期的

  13)Session

  • 根本作用是在服务端存储用户和服务器会话的一些信息。(判断用户是否登陆、购物车功能)
  • Session代表服务器与浏览器的一次会话过程,这个过程是连续的,也可以时断时续。
  • Session是一种服务器端的机制,Session对象用来存储特定用户会话所需的信息。
  • Session由服务端生成,保存在服务器的内存、缓存、硬盘或数据库中。
  • Cookie和Session的区别:
    • 存放位置不同:Cookie保存在客户端,Session保存在服务端
    • 存取方式不同:Cookie中只能保管ASCII字符串,加入需求存取Unicode字符或二进制数据,须进行编码,Session中能存取任何类型的数据
    • 安全性不同:Cookie存储在浏览器中,对客户端是可见的,客户端的一些程序可能会窥探、复制以至修正Cookie上的内容,Session存储在服务器中,对客户端是透明的,不存在敏感信息泄露的风险

  14)HTTP与HTTPS比较

  • 优点:防止流量劫持;增加了中间人攻击的成本;加密传输,防窃听篡改,保证数据完整性。
  • 缺点:收费,功能越强大的证书费用越高;费时,打开加载页面变慢;消耗资源,加密会消耗CPU和内存资源

 

posted @ 2023-06-22 17:22  筱倩  阅读(199)  评论(0)    收藏  举报