9、web安全综述

news2024/12/27 21:23:19

文章目录

    • 一、web核心组成
    • 二、web架构
      • 2.1 Web服务器
      • 2.2 Web容器
      • 2.3 Web服务端语言
      • 2.4 web开发框架
      • 2.6 软件系统
    • 三、常见web安全漏洞
      • 3.1 信息泄露
      • 3.2 目录遍历
      • 3.3 跨站脚本攻击(XSS)
      • 3.4 SQL注入漏洞
      • 3.5 文件上传漏洞
      • 3.6 命令执行漏洞
      • 3.7 文件包含漏洞

一、web核心组成

  • URL(统一资源标识符):解决了文档的命名和寻址识别问题;
  • HTTP(超文本传输协议):解决了浏览器与服务器应用层之间的交流问题;
  • HTML(超文本标记语言):定义了超文本文档的表示;
  • 浏览器用于发起请求,并且解析文档;
  • 服务器用于保存文档。

二、web架构

在这里插入图片描述

2.1 Web服务器

(1)概念:对外提供静态页面web服务的软件系统。
(2)作用

  • 处理HTTP协议
  • 接收、处理、发送静态页面
  • 处理并发、负载均衡
    (3)web服务器举例:Apache、IIS、Nginx等。

2.2 Web容器

(1)概念:为了满足交互操作,获取动态结果,而提高的一些拓展机制能够让HTTP服务器调用服务端程序。
(2)作用:处理动态页面请求(解释器),如asp、jsp、php、cgi
(3)web容器举例:Tomcat、weblogic、Jboss、Webshere等。

2.3 Web服务端语言

(1)概念:用于提供Web页面的自定义功能,专业处理互联网通信,使用网页浏览器作为用户界面。
(2)作用:可以动态地编辑、修改或添加网页内容。可以对用户从HTML提交的查询或数据进行响应,访问数据或数据库,并将结果返回到浏览器。也可以访问文件或xml数据,并将结果返回到浏览器,把XML转换为HTML,并将结果返回到浏览器。还可以为不同的用户定制页面,提供页面的可用性,对不同的网页提供安全的访问机制,为不同类型的浏览器设计不同的输出等。
(3)常见的web服务端语言有:php,java,asp等。

2.4 web开发框架

(1)概念:类似于模板,用来支持动态网站、网络应用程序及网络服务的开发。
(2)作用:提高web开发效率,降低开发难度。
(3)常见的web开发框架有:php的thinkphp、java的Struts2和Spring等。

2.6 软件系统

(1)举例:CMS、BBS、blog、Wordpress等。
(2)与web开发框架的区别:框架就是将一些常用的操作封装起来,并结合一些设计模式,用来规范和简化程序员的开发流程;而cms等软件系统一般属于一个完整的系统,有页面、数据库,部署在站点上之后就能之间通过浏览器地址进行访问,可以基于框架开发。

在这里插入图片描述

三、常见web安全漏洞

3.1 信息泄露

(1)原理
信息泄露是由于web服务器或应用程序没有正确处理一些特殊请求,泄露web服务器的一些敏感信息,如用户名、密码、源代码、服务器信息、配置信息等。
(2)信息泄露的主要原因

  • web服务器配置存在问题,导致一些系统文件或配置文件暴露在互联网中;
  • web服务器本身存在漏洞,在浏览器中输入一些特殊的字符,可以访问未授权的文件或动态脚本文件源码;
  • web网站的程序编写存在问题,对用户提交的请求没有进行适当的过滤,直接使用用户提交上来的数据。

7、信息打点——资产泄露&CMS识别&Git监控&SVN&DS_Store&备份

3.2 目录遍历

(1)原理
目录遍历是一个web安全漏洞,攻击者可以利用该漏洞读取运行应用程序的服务器上的任意文件。这可能包括应用程序代码和数据,后端系统的登录信息以及敏感的操作系统文件。
(2)测试方法
在这里插入图片描述

3.3 跨站脚本攻击(XSS)

(1)原理
跨站脚本攻击(XSS),指攻击者通过在wen页面中写入恶意脚本,造成用户在浏览页面时,控制用户浏览器进行操作的攻击方式。
在这里插入图片描述
(2)类型
反射型XSS、存储型XSS、DOM型XSS

3.4 SQL注入漏洞

(1)原理
SQL注入漏洞,web系统对数据库访问语句过滤不严,入侵者在合法参数的位置,传入特殊的字符、命令,实现对后台数据库的入侵。
(2)主要分类
字符型和数字型

3.5 文件上传漏洞

(1)原理
文件上传漏洞,网站web应用都有一些文件上传功能,比如文档、图片、头像、视频上传,当上传功能的实现代码没有严格校验上传文件的后缀和文件类型时,就可以上传任意文件,甚至可执行文件后门。
(2)类型
根据网站使用及可解析的程序脚本不同,可以上传的恶意脚本可以是PHP、ASP、JSP、ASPX文件等。

3.6 命令执行漏洞

(1)原理
命令执行,应用程序有时需要调用一些执行系统命令的函数,而web开发语言中部分可以执行系统命令,如php中的system、exec、shell_exec等函数。

3.7 文件包含漏洞

(1)原理
文件包含,程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,而无需在此编写,这种文件调用的过程一般称为文件包含。所有脚本语言都会提供文件包含的功能,但文件包含漏洞在PHP Web Application中居多,而在JSP、ASP、ASP.NET程序中却非常少,甚至没有。
(2)分类
本地文件包含和远程文件包含。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1292802.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Halcon reduce_domain和scale_image的作用

在Halcon中,reduce_domain是用于缩小图像域(Image Domain)的操作。 它的作用是通过指定一个感兴趣区域(ROI,Region of Interest),将图像数据限制在该区域内,从而实现对图像进行裁剪…

【文件上传系列】No.0 利用 FormData 实现文件上传、监控网路速度和上传进度(原生前端,Koa 后端)

利用 FormData 实现文件上传 基础功能:上传文件 演示如下: 概括流程: 前端:把文件数据获取并 append 到 FormData 对象中后端:通过 ctx.request.files 对象拿到二进制数据,获得 node 暂存的文件路径 前端…

智能优化算法应用:基于广义正态分布算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于广义正态分布算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于广义正态分布算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.广义正态分布算法4.实验参数设定5.算…

手把手将Visual Studio Code变成Python开发神器

Visual Studio Code 是一款功能强大、可扩展且轻量级的代码编辑器,经过多年的发展,已经成为 Python 社区的首选代码编辑器之一 下面我们将学习如何安装 Visual Studio Code 并将其设置为 Python 开发工具,以及如何使用 VS Code 提高编程工作…

数字人对话系统 Linly-Talker

🔥🔥🔥数字人对话系统 Linly-Talker🔥🔥🔥 English 简体中文 欢迎大家star我的仓库 https://github.com/Kedreamix/Linly-Talker 2023.12 更新 📆 用户可以上传任意图片进行对话 介绍 Lin…

读书笔记-《数据结构与算法》-摘要4[插入排序]

插入排序 核心:通过构建有序序列,对于未排序序列,在已排序序列中从后向前扫描(对于单向链表则只能从前往后遍历),找到相应位置并插入。实现上通常使用in-place排序(需用到O(1)的额外空间) 从第一个元素开始,该元素可…

2023年广东工业大学腾讯杯新生程序设计竞赛

E.不知道叫什么名字 题意:找一段连续的区间,使得区间和为0且区间长度最大,输出区间长度。 思路:考虑前缀和,然后使用map去记录每个前缀和第一次出现的位置,然后对数组进行扫描即可。原理:若 s …

低代码——“平衡饮食”才是王道

文章目录 一、低代码的概念二、低代码的优点2.1. 高效率与快速开发2.2. 降低技术门槛2.3. 适用于快速迭代与原型开发 三、低代码的缺点3.1. 定制性不足3.2. 深度不足3.3. 可能导致技术债务 四、低代码开发的未来4.1. 深度定制化4.2. 智能化 五、低代码会替代传统编程吗&#xf…

甘草书店:#9 2023年11月23日 星期四 「麦田创业历程分享1——联合创始人的魔幻相遇」

既然甘草是一家创业主题的书店咖啡馆,那就从我,从麦田开始分享一下创业历程吧。 需要声明的是,我从不认为我有资格对别人的创业指指点点,每位创业者的性格、背景、基础、诉求各有不同,时代发展也日新月异,…

Javaweb | Servlet编程

目录: 1.认识Servlet2.编写Servlet3.Servlet的运行机制4.Servlet的生命周期4.1 Servlet生命周期图init()方法doGet()doPost()service()destroy()方法 5.解决“控制台”打印中文乱码问题6.Servlet 和 JSP内置对象 (常用对象)获得out对象获得request 和 response对象获得session对…

数据结构 图的广度优先搜索和深度优先搜索

一、广度优先搜索 广度优先搜索等价于树的层次遍历,将起点的每一层进行遍历 当这一层结点全部被遍历完时,再遍历下一层次,从图中可以根据距离遍历起点的长度进行层次选择 例: 以a结点作为开始结点 a的下一层次有b c e三个结点 所以…

无敌是多么的寂寞!一本书讲透Java多线程!吊打多线程从原理到实践!

摘要 互联网的每一个角落,无论是大型电商平台的秒杀活动,社交平台的实时消息推送,还是在线视频平台的流量洪峰,背后都离不开多线程技术的支持。在数字化转型的过程中,高并发、高性能是衡量系统性能的核心指标&#xff…

C语言--不使用库函数,把一个数字转为字符串【详细解释】

一.题目描述 输入一个数字,把他转为字符串 比如:输入数字:12345 输出:12345(这里的12345是字符串12345) 二.思路分析 比如给定一个数字12345,先把它转为字符54321(“54321”&#…

洛谷P1044 [NOIP2003 普及组] 栈 递归方法

目录 核心: 问题转化: 状态转化:(你得先读懂题,理解我们要干什么) 对应不同情况下的状态转化:(比如栈空就不能出栈,,) AC代码: 题…

MySQL实战45讲-第1-2讲-一条SQL查询语句是如何执行的? 一条SQL更新语句是如何执行的

大体来说,MySQL可以分为Server层和存储引擎层两部分 Server层:Server层包括连接器、查询缓存、分析器、优化器、执行器等。以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现&a…

C语言课程设计

内容与设计思想 1、系统功能与分析&#xff08;填写你所设计的菜单及流程图&#xff09;。 菜单&#xff1a; 日历打印 日历推算 日历间隔倒计时牌 退出程序 模块设计 根据功能需要&#xff1a; 源文件&#xff1a; #include<stdio.h> #include&…

基于深度学习的遥感图像变化差异可视化系统

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 遥感图像变化差异可视化是遥感图像处理和分析的重要研究领域之一。随着遥感技术的快速发展和遥感数据的广泛应用&#xff0c;遥感图像的获取和处理变得越来越容易…

hive-3.1.2环境安装实验

1.修改hadoop相关参数 1-修改core-site.xml [bigdata@master hive]$ vim /opt/module/hadoop/etc/hadoop/core-site.xml <!-- 配置该bigdata(superUser)允许通过代理访问的主机节点 --><property><name>hadoop.proxyuser.bigdata.hosts</name><va…

FastAPI的请求体参数

FastAPI 请求体参数 所谓的请求体参数&#xff0c;就是不在url中的发送的数据&#xff0c;其实我们应该知道http协议是什么。 所谓的协议&#xff0c;就是一种格式的约定。举个生活中的简单的例子&#xff0c;你想买个早餐&#xff0c;你要问老板鸡蛋灌饼多少钱&#xff0c;老…

Python查看文件列表

os.listdir 是 Python 的一个内置函数&#xff0c;用于列出指定目录中的所有文件和子目录。它接受一个字符串参数&#xff0c;即要列出内容的目录的路径。 列出当前工作目录中的所有文件和子目录 files_and_dirs os.listdir() print(files_and_dirs) 列出指定目录中的所…