欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

渗透测试 网站安全基础点讲解(第一点)

程序员文章站 2023-11-22 20:08:34
主要目的就是为了在网站或app上线前进行全面的渗透测试检测模拟黑客的手法对网站进行全面的漏洞检测,并找出漏洞进行修复,防止上线后被黑客所利用导致带来更大的损失,只有这样才能让网站安全稳定的运行,所谓知己知彼百战不殆。...

随着网络的发达,越来越多的网站已悄悄崛起,在这里我们sine安全给大家准备讲解下渗透测试服务中的基础点讲解内容,让大家更好的了解这个安全渗透测试的具体知识点和详情过程。主要目的就是为了在网站或app上线前进行全面的渗透测试检测模拟黑客的手法对网站进行全面的漏洞检测,并找出漏洞进行修复,防止上线后被黑客所利用导致带来更大的损失,只有这样才能让网站安全稳定的运行,所谓知己知彼 百战不殆。

今天所讲的是基础点知识(第一点开始)

1.1. web技术演化

1.1.1. 静态页面

在互联网最初开始的时候,web网站的主要内容是静态的,由文字和图片组成,制作和表现形式也是以表格为主。当时的用户行为也非常简单,仅仅是浏览网页。

1.1.2. 多媒体阶段

随着技术的不断发展,音频、视频、flash等多媒体技术诞生了。多媒体的加入使得网页变得更加生动形象,网页上的交互也给用户带来了更好的体验。

1.1.3. cgi阶段

渐渐的,多媒体已经不能满足人们的请求,于是cgi(common gateway interface)应运而生。cgi定义了web服务器与外部应用程序之间的通信接口标准,因此web服务器可以通过cgi执行外部程序,让外部程序根据web请求内容生成动态的内容。

在这个时候,各种编程语言如php/asp/jsp也逐渐加入市场,基于这些语言可以实现更加模块化的、功能更强大的应用程序。

1.1.4. ajax

在开始的时候,用户提交整个表单后才能获取结果,用户体验极差。于是ajax(asynchronous java and xml)技术逐渐流行起来,它使得应用在不更新整个页面的前提下也可以获得或更新数据。这使得web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变的信息。

1.1.5. mvc

随着web应用开发越来越标准化,出现了mvc等思想。mvc是model/view/control的缩写,model用于封装数据和数据处理方法,视图view是数据的html展现,控制器controller负责响应请求,协调model和view。

model,view和controller的分开,是一种典型的关注点分离的思想,使得代码复用性和组织性更好,web应用的配置性和灵活性也越来越好。而数据访问也逐渐通过面向对象的方式来替代直接的sql访问,出现了orm(object relation mapping)的概念。

除了mvc,类似的设计思想还有mvp,mvvm等。

1.1.6. restful

在cgi时期,前后端通常是没有做严格区分的,随着解耦和的需求不断增加,前后端的概念开始变得清晰。前端主要指网站前台部分,运行在pc端、移动端等浏览器上展现给用户浏览的网页,由html5、css3、java组成。后端主要指网站的逻辑部分,涉及数据的增删改查等。

此时,rest(representation state transformation)逐渐成为一种流行的web架构风格。

rest鼓励基于url来组织系统功能,充分利用http本身的语义,而不是仅仅将http作为一种远程数据传输协议。一般restful有以下的特征:

域名和主域名分开

api.example.com

example.com/api/

带有版本控制

api.example.com/v1

api.example.com/v2

使用url定位资源

get /users 获取所有用户

get /team/:team/users获取某团队所有用户

post /users 创建用户

patch/put /users 修改某个用户数据

delete /users 删除某个用户数据

用 http 动词描述操作

get 获取资源,单个或多个

post 创建资源

put/patch 更新资源,客户端提供完整的资源数据 是 delete 删除资源

正确使用状态码

使用状态码提高返回数据的可读性

默认使用 json 作为数据响应格式

有清晰的文档

点击添加图片描述(最多60个字)

1.1.7. 云服务

随着时间的发展,web的架构越发复杂,负载均衡、数据库分表、异地容灾、缓存、cdn、消息队列等技术开始应用,增加了web开发和运维的复杂度。同时云服务开始逐渐发展,部署环境容器化,各个功能拆成微服务或是serverless的架构。

1.2. 计算机网络

1.2.1. 计算机通信网的组成

计算机网络由通信子网和资源子网组成。

其中通信子网负责数据的无差错和有序传递,其处理功能包括差错控制、流量控制、路由选择、网络互连等。

其中资源子网:是计算机通信的本地系统环境,包括主机、终端和应用程序等, 资源子网的主要功能是用户资源配置、数据的处理和管理、软件和硬件共享以及负载 均衡等。

计算机通信网就是一个由通信子网承载的、传输和共享资源子网的各类信息的系统。

1.2.2. 通信协议

为了完成计算机之间有序的信息交换,提出了通信协议的概念,其定义是相互通信的双方(或多方)对如何进行信息交换所必须遵守的一整套规则。

协议涉及到三个要素,分别为:

语法:语法是用户数据与控制信息的结构与格式,以及数据出现顺序的意义

语义:用于解释比特流的每一部分的意义

时序:事件实现顺序的详细说明

1.2.3. osi七层模型

1.2.3.1. 简介

osi(open system interconnection)共分为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层七层,其具体的功能如下。

1.2.3.2. 物理层

提供建立、维护和释放物理链路所需的机械、电气功能和规程等特性

通过传输介质进行数据流(比特流)的物理传输、故障监测和物理层管理

从数据链路层接收帧,将比特流转换成底层物理介质上的信号

1.2.3.3. 数据链路层

在物理链路的两端之间传输数据

在网络层实体间提供数据传输功能和控制

提供数据的流量控制

检测和纠正物理链路产生的差错

格式化的消息称为帧

1.2.3.4. 网络层

负责端到端的数据的路由或交换,为透明地传输数据建立连接

寻址并解决与数据在异构网络间传输相关的所有问题

使用上面的传输层和下面的数据链路层的功能

格式化的消息称为分组

1.2.3.5. 传输层

提供无差错的数据传输

接收来自会话层的数据,如果需要,将数据分割成更小的分组,向网络层传送分组并确保分组完整和正确到达它们的目的地

在系统之间提供可靠的透明的数据传输,提供端到端的错误恢复和流量控制

1.2.3.6. 会话层

提供节点之间通信过程的协调

负责执行会话规则(如:连接是否允许半双工或全双工通信)、同步数据流以及当故障发生时重新建立连接

使用上面的表示层和下面的传输层的功能

1.2.3.7. 表示层

提供数据格式、变换和编码转换

涉及正在传输数据的语法和语义

将消息以合适电子传输的格式编码

执行该层的数据压缩和加密

从应用层接收消息,转换格式,并传送到会话层,该层常合并在应用层中

1.2.3.8. 应用层

包括各种协议,它们定义了具体的面向拥护的应用:如电子邮件、文件传输等

点击添加图片描述(最多60个字)

1.2.3.9. 总结

低三层模型属于通信子网,涉及为用户间提供透明连接,操作主要以每条链路( hop-by-hop)为基础,在节点间的各条数据链路上进行通信。由网络层来控制各条链路上的通信,但要依赖于其他节点的协调操作。

高三层属于资源子网,主要涉及保证信息以正确可理解形式传送。

传输层是高三层和低三层之间的接口,它是第一个端到端的层次,保证透明的端到端连接,满足用户的服务质量( qos)要求,并向高三层提供合适的信息形式。 如果对渗透测试有具体详细的需求可以找专业的网站安全公司来处理解决防患于未然。

相关标签: 网站安全