WEB安全基础(上)

2024-08-29 08:10:30 浏览数 (4)

1、前言

本文主要介绍Web发展史、URL、Web访问流程和抓包工作原理和简单介绍BurpSuite工具。为什么需要了解这些基础知识点呢?因为漏洞攻击是需要知道分析定位可从哪里入手去攻击,先理论再实战。

2、Web发展史
2.1、Web简介

全称:World Wide Web,全球广域网,也称万维网。基于超文本和HTTP、全球性、动态交互、跨平台的分布式图形信息系统。建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供图形化、易于访问的直观界面。文档和超级链接将Internet上的信息节点组织成一个互为关联的网状结构。

有三个相关但不同的概念: 互联网:是一个全球范围的计算机网络,连接了世界各地的计算机和网络设备。 因特网:连接全球范围的计算机网络,使得信息能够以特定协议(如TCP/IP)在全球范围内传递。 万维网:是互联网上的一种信息服务,通过浏览器访问,基于超文本、多媒体的信息系统。

三网之间的关系:互联网>因特网>万维网

2.2、Web发展史

互联网从诞生到现在,可用划分为3个阶段,根据不同时期互联网的特征、技术和应用进行区分,行业术语:Web1.0、Web2.0和Web3.0。

Web1.0和Web2.0本质区别:Web1.0 的主要是在于用户通过浏览器获取信息,Web2.0 则更注重用户的交互作用。

2.2.1、Web1.0

时间:大约在1990年代末至2000年代初。

特征: 静态内容:网站以静态HTML页面为主,内容固定,无法实时更新。 信息消费:使用浏览器获取信息,主要是单向的信息传递。 门户网站:提供信息集合和导航功能。

代表性应用:静态网站、门户网站、在线目录等。

漏洞:目标Web服务器,有钓鱼攻击、URL跳转、框架漏洞、XSS和CSRF等。

2.2.2、Web2.0

时间:起源于2000年代初至中期,至今仍在发展。

特征: 用户参与和生成内容:用户可以创建、分享、评论和参与网站内容的创作和分享。 社交互动:强调社交网络、社区互动,用户可以互相交流、分享和讨论。 多媒体丰富:引入丰富的多媒体内容,如视频、音频等。

代表性应用:社交媒体(如微博、QQ、Twitter)、博客、百度百科等。

漏洞:目标Web用户,有SQL注入、文件包含、命令执行、上传漏洞和WebShell等。

2.2.3、Web3.0

时间:尚未明确阐明时间范围,是对未来互联网发展的预期。

特征: 语义化数据:强调数据的智能化、语义化,让计算机能够更好理解和处理信息。 智能服务和个性化体验:以人工智能为基础,提供高度智能化、个性化的服务。 区块链技术应用:重视去中心化、安全、可信赖的特性,以区块链技术为基础构建更安全的网络和应用。

代表性应用:智能合约、分布式应用(DApps)、语义网等。

2.3、Web页面

根据页面内容的生成方式区分为静态,动态。

静态页面是指页面的内容在服务器上预先生成并存储为静态HTML文件,当用户访问时直接返回这些预先生成的HTML文件。这些文件在用户访问时不会发生变化,内容固定不变。

动态页面是指页面的内容不是事先存储为静态HTML文件,而是在用户请求时由服务器动态生成,内容可以根据用户请求、用户信息、数据库查询等实时变化。

3、URL
3.1、URL简介

全称:Uniform Resource Locator,统一资源定位符,俗称网页地址或简称网址。是因特网上标准的资源的地址,如同在网络上的门牌。它最初是由蒂姆·伯纳斯-李发明用来作为万维网的地址,现在它已经被万维网联盟编制为因特网标准RFC1738。

3.2、URL格式
代码语言:javascript复制
protocol://hostname[:port]/path/[parameters][?query]

protocol 协议,常用的协议是http、https、ftp等 hostname 主机地址,域名或IP地址 port 端口, http协议默认端口是:80端口 path 路径, 网络资源在服务器中的指定路径 parameter 参数 ,如果要向服务器传入参数时 query 查询字符串, 如果需要从服务器那里查询内容,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。

4、Web访问流程
4.1、HTTP
4.1.1、简介

全称:Hyper Text Transfer Protocol超文本传输协议,是一个简单的请求-响应协议。它通常运行在TCP之上,指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。默认端口号为80。

4.1.2、事务处理过程

HTTP定义的事务处理由以下四步组成:

  • 客户端与服务器端建立连接
  • 客户端向服务器端发送请求
  • 服务器端向客户端回复响应
  • 断开连接
4.1.3、请求方法
4.1.4、HTTP响应码

当客户端发送请求至服务器后,服务器会根据请求进行处理,并返回一个带有 HTTP 响应状态的消息。HTTP 响应状态由三位数字组成,每个数字有特定的含义,用于指示请求的处理状态。以下是常见的 HTTP 响应状态码及其含义:

  1. 1xx(Informational):
    • 100 Continue: 服务器已接收请求的头部,客户端应继续发送请求的主体。
  2. 2xx(Success)
    • 200 OK: 请求成功。常用于 GET 和 POST 请求。
    • 201 Created: 请求已成功,并且服务器创建了新资源。
    • 204 No Content: 请求成功,但响应不包含实体的主体部分。
  3. 3xx(Redirection):
    • 301 Moved Permanently: 资源的 URI 已更改,客户端应更新为新 URI。
    • 302 Found: 资源的 URI 暂时更改。
    • 304 Not Modified: 客户端有缓存的副本,并且服务器资源未更改,可使用缓存的副本。
  4. 4xx(Client Error):
    • 400 Bad Request: 请求无效,服务器无法理解请求。
    • 401 Unauthorized: 需要身份验证。
    • 403 Forbidden: 服务器拒绝请求,没有权限访问资源。
    • 404 Not Found: 请求的资源不存在。
    • 429 Too Many Requests: 客户端发送的请求过多,服务器限制了请求。
  5. 5xx(Server Error):
    • 500 Internal Server Error: 服务器遇到了意外情况,无法完成请求。
    • 502 Bad Gateway: 服务器作为网关或代理,从上游服务器收到无效响应。
    • 503 Service Unavailable: 服务器暂时无法处理请求,通常是因为服务器过载或正在维护。
    • 504 Gateway Timeout: 服务器作为网关或代理,但未及时从上游服务器收到响应。
4.1.5、HTTP的缺陷

由于HTTP协议的简单特性,且不保存客户端的状态,不进行验证客户端是否是真实存在,传输使用的是明文传输,很具有缺点 :

①通信双方使用明文传输(不加密),内容可能会被窃听。 ② 不验证通信方的身份,因此可能遭遇伪装。 ③ 无法证明报文的完整性,所以有可能已遭篡改。

在这几个缺点的基础上为了防止这些问题的发生,出现了HTTPS 。

4.2、HTTPS
4.2.1、简介

HTTPS是在HTTP上建立SSL加密层,并对传输数据进行加密,是HTTP协议的安全版。 默认端口号为443。

4.2.2、主要作用

(1)对数据进行加密,并建立一个信息安全通道,来保证传输过程中的数据安全; (2)对网站服务器进行真实身份认证。

4.2.3、与HTTP区别

本质:明文和加密。 信任主机的问题:采用https 的server 必须从CA 申请一个用于证明服务器用途类型的证书,该证书只有用于对应的server时,客户端才信任该主机。 加密:防止中间人攻击和防钓鱼。

5、抓包
5.1、工作原理

在浏览器和服务器中间加入代理服务器,把请前端的请求截取到,根据需求进入加工处理,再发送到请求到服务端。

5.2、抓包工具-BurpSuite
5.2.1、简介

Burp Suite(简称BP) 是一个集成化的渗透测试工具,集合了多种渗透测试组件,为这些工具设计了许多接口,以促进加快攻击应用程序的过程。BP运行后,默认开启端口8080作为本地代理接口,通过使用代理服务器,所有的网站请求可以被拦截,查看和修改。

5.2.2、三大主要模块介绍

Proxy模块:一个拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,可拦截、查看,修改在两个方向上的原始数据流。

Intruter模块:用于设置配置攻击参数和攻击结果分析,其中Payloads用于对攻击参数配置一个字符串列表,Results用于暴力破解结果分析。

Repeater模块:是一个靠手动操作来补发单独的HTTP 请求,并分析应用程序响应的工具。

1 人点赞