9、web安全综述

文章目录

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

本地文件包含和远程文件包含。

相关推荐
拉法豆粉32 分钟前
三方软件测试可移植性测试哪些内容
数据库·安全
午夜游鱼2 小时前
Go 泛型实战:一行代码封装 sync.Pool,性能与安全兼得
开发语言·安全·golang
在安全厂商修设备3 小时前
XSS 跨站脚本攻击剖析与防御 - 第一章:XSS 初探
web安全·网络安全·xss
半桔4 小时前
【Linux手册】信号量与建造者模式:以 PV 操作保证并发安全,分步组装构建复杂对象
linux·运维·安全·建造者模式
网络之路Blog4 小时前
【实战中提升自己完结篇】分支篇之分支之无线、内网安全与QOS部署(完结)
网络协议·安全·网络之路一天·华为华三数通基础·网络设备管理·华为华三二三层交换机对接
✎﹏赤子·墨筱晗♪4 小时前
Nginx 配置 SSL/TLS 全指南:从安装到安全强化
nginx·安全·ssl
独行soc4 小时前
2025年渗透测试面试题总结-60(题目+回答)
java·python·安全·web安全·adb·面试·渗透测试
wanhengidc5 小时前
云手机可以用来托管游戏吗?
运维·网络·安全·游戏·智能手机
FreeBuf_5 小时前
Spring Cloud Gateway WebFlux现cvss10分高危漏洞,可导致环境属性篡改
安全·web安全
Broken Arrows13 小时前
Linux学习——管理网络安全(二十一)
linux·学习·web安全