三、Web安全相关知识

news2024/11/23 19:14:15
请勿用于非法用途

文章目录

  • 一、Web源码框架
  • 二、目录结构
    • 1、静态资源
    • 2、WEB-INF
      • (1)classes
      • (2)lib
      • (3)web.xml
  • 二、web脚本语言
    • 1、脚本种类
      • (1)ASP
      • (2)ASP.NET
      • (3)php
      • (4)jsp
    • 2、判断方法
      • (1)根据cookie值
      • (2)响应包的server值
    • 3、网站查询
    • 4、根据服务器类型判断
    • 5、使用google hack语法
    • 6、Tips
  • 三、web应用
    • 1、web应用架构
    • 2、web应用开发技术
    • 3、web应用分类

一、Web源码框架

在这里插入图片描述

二、目录结构

  一个标准的web应用目录结构如下:

在这里插入图片描述

1、静态资源

  静态web资源和jsp可以放到web应用的根目录下,web应用根目录下的资源,浏览器可以直接访问到。

2、WEB-INF

  • 目录受保护,浏览器不能直接访问;
  • 如果希望访问WEB-INF下的资源,必须将资源配置到web.xml文件中。

(1)classes

  • 存放动态web资源;
  • 主要存放源文件编译后的class文件。

(2)lib

  存放web应用程序需要用到的jar文件,一般工程所需的其他包都放在lib下。

(3)web.xml

  整个web应用的核心配置文件,用来供web容器部署和执行web应用。

😳😳😳web.xml不是必须的,一个web工程可以没有web.xml文件。

二、web脚本语言

1、脚本种类

  脚本语言是一种介乎于HTML和JAVA等编程语言只爱你的一种特殊语言。常见的脚本语言可分为静态脚本语言和动态脚本语言:

静态脚本语言:html
动态脚本语言:asp(逐步在淘汰,常见于小站点)、aspx、php(目前比较流行)、jsp

(1)ASP

  ASP全名ActiveServerPages,是MicroSoft公司开发的服务器端脚本环境,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序。
  1)IIS(internet information server)是支持ASP运行的平台。
  2)ASP采用脚本语言VBScript(Javascript)作为自己的开发语言。
  3)ASP文件与HTML文件类似,包含文本、HTML、脚本。
  4)ASP文件中的脚本可在服务器上执行,ASP文件后缀名是 .asp。

ASP与HTML的区别:

  • 当浏览器请求某个HTML文件时,服务器就会访问这个文件;
  • 当浏览器请求某个ASP文件时,IIS会将这个请求传递给ASP引擎。ASP引擎会逐行读取这个ASP文件,并执行文件中的脚本。最后,ASP文件将以纯HTML的形式返回浏览器。

(2)ASP.NET

  • ASP.NET语言的文件后缀名为**.aspx**。通常是用 VB (Visual Basic) 或者 C# (C sharp) 编写。
  • ASP.NET 是新一代 ASP 。它与经典 ASP 是不兼容的,但 ASP.NET 可能包括经典 ASP。
  • ASP.NET 页面是经过编译的,这使得它们的运行速度比经典 ASP 快。在 ASP.NET 中的控件可以用不同的语言(包括 C++ 和 Java)编写。

  😮😮😮当浏览器请求 ASP.NET 文件时,ASP.NET 引擎读取文件,编译和执行脚本文件,并将结果以普通的 HTML 页面返回给浏览器。

(3)php

  • PHP是“超文本预处理器”,是在服务端执行的脚本语言。PHP文件可包含文本、HTML、Javascript和php代码。
  • PHP是一种创建动态交互性站点的强有力的服务器端脚本语言。PHP代码在服务器上执行,结果以HTML形式返回给浏览器,PHP文件的默认扩展名为”.php”。
  • PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等);PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)

(4)jsp

  • JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。
  • JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。
  • JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。
  • JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。JSP脚本语言的文件后缀名为“.jsp”。

2、判断方法

(1)根据cookie值

  根据数据包中传递的cookie值,比如PHP使用的会话ID是PHPSESSID,JSP使用的会话ID是JSESSION。下面网站使用的脚本语言为JSP。
在这里插入图片描述

(2)响应包的server值

  有时候网站的响应包会携带Server信息,Server表示Web服务器的版本。
在这里插入图片描述

另外需要注意以下字段:

  • X-Powered-By:Web应用框架信息。

3、网站查询

  网站
在这里插入图片描述

4、根据服务器类型判断

  • IIS6.0,一般是ASP,少部分是ASP.NET,也有少部分是php;
  • IIS7.0,一般是ASP.NET,少部分是ASP;
  • Nginx,一般为php,也有可能是python;
  • Apache,一般都是php;
  • Tomat、Resin、JBoss一般是JAVA;

5、使用google hack语法

  • inurl:返回url中含有关键词的网页。例如:inurl:xxx 将返回url中含有XXX的网页。
  • site:指定访问的站点。例如 site:xxx.com inurl:AAA 将只在xxx.com中查找url中含有AAA的网页。

6、Tips

  1)构造畸形请求,让网站报错;
  2)通过识别目录、指纹等信息,来识别CMS框架(框架知道了,所用的脚本语言也就知道了);
  3)分析某些html中的链接,以及ajax技术中会请求的地址;
  4)在网站后面加特殊域名,网站能正常打开,说明网站就是用该语言写的(也有特殊情况)

特殊域名:🐢🐢🐢
  index.php、idnex.asp、index.jsp、index.aspx、defualt.php、defualt.asp、default.jsp、default.aspx

  4)用正则去匹配HTML代码,找出其中的copyright(版权信息)、powered by(技术支持),进而得知使用的语言。

三、web应用

1、web应用架构

  目前流行Web应用程序架构有两种:C/S、B/S.
  1)C/S:Client/Server,服务器通常采用高性能的PC、工作站或小型机,客户端需要安装专用的客户端软件。
  2)B/S:Brower/Server,客户端只要安装一个浏览器,通过浏览器与Web服务器进行数据交互。

2、web应用开发技术

  Web开发技术大体上可以分为客户端技术和服务端技术两大类。
  1)客户端技术:Html、JavaScript、JQuery、CSS。
  2)服务器端技术:CGI、ASP和ASP.NET、PHD、Servlet、JSP。

3、web应用分类

  1. 论坛
  2. 聊天
  3. 电子邮件
  4. 搜索引擎
  5. 电商
  6. 内容管理系统(CMS)

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

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

相关文章

Vue的下载以及MVVM分析

&#x1f600;前言本片文章是vue系列第一篇整理了vue的基础和发展史 &#x1f3e0;个人主页&#xff1a;尘觉主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是尘觉&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意是我的动力&#x1f609;&#x1f6…

服务器——Nginx安装及静态配置、部署

目录 Nginx 安装Nginx步骤 安装yum-utils 配置nginx.repo源 安装nginx 系统启动nginx服务器 nginx.conf配置 关闭nginx服务器 配置文件启动nginx服务 配置文件编写 启动nginx服务 关闭nginx服务 服务器——Nginx安装及静态配置、部署。 直接在云服务器中启动项目&…

【C# 数据结构】Heap 堆

【C# 数据结构】Heap 堆 先看看C#中有那些常用的结构堆的介绍完全二叉树最大堆 Heap对类进行排序实现 IComparable<T> 接口 对CompareTo的一点解释 参考资料 先看看C#中有那些常用的结构 作为 数据结构系类文章 的开篇文章&#xff0c;我们先了解一下C# 有哪些常用的数据…

Android开发之Fragment动态添加与管理

文章目录 主界面布局资源两个工具Fragment主程序 主界面布局资源 在activity_main.xml中&#xff0c;声明两个按钮备用&#xff0c;再加入一个帧布局&#xff0c;待会儿用来展示Fragment。 <?xml version"1.0" encoding"utf-8"?> <LinearLayo…

一文快速入门任务调度框架-Quartz

前言 还不会 Quartz&#xff1f;如果你还没有接触过Quartz&#xff0c;那么你可能错过了一个很棒的任务调度框架&#xff01;Quartz 提供了一种灵活、可靠的方式来管理和执行定时任务&#xff0c;让咱们的定时任务更加优雅。本篇文章将为你介绍 Quartz 框架的核心概念、API 和…

Vue3封装函数组件(ElImageViewer)预览图片

目录结构 index.vue <template><el-image-viewer v-if"show" v-bind"$attrs" hide-on-click-modal close"show false" /> </template><script setup> import { ref, watch } from "vue" import { ElImageV…

D2L学习记录-10-词嵌入word2vec

NLP-1-词嵌入(word2vec) 参考: 《动手学深度学习 Pytorch 第1版》第10章 自然语言处理 第1、2、3 和 4节 (词嵌入) 词嵌入 (word2vec)&#xff1a; 词向量&#xff1a;自然语言中&#xff0c;词是表义的基本单元。词向量是用来表示词的向量。词嵌入 (word embedding)&#x…

余切拉普拉斯算子推导 cotangent Laplace-Beltrami operator

欢迎关注更多精彩 关注我&#xff0c;学习常用算法与数据结构&#xff0c;一题多解&#xff0c;降维打击。 参考自polygon mesh proccessing这本书 基本思路及原理 余切拉普拉斯算子是一种考虑了网格底层几何联系的一种算子&#xff0c;在网格平滑&#xff0c;参数化等算法中…

no instance(s) of type variable(s) R exist so that void conforms to R 解决方法

一、问题描述 使用函数式编程stream().map()的时候报错&#xff1a; no instance(s) of type variable(s) R exist so that void conforms to R 二、报错原因 map()函数需要有一个返回值&#xff0c;但是setter方法返回值为void,即setChildren()返回值为void. 三、解决方法 …

SpringBoot前后端分离项目中实现将图片上传至Linux服务器(极简)

FileController /*** 文件上传至服务器 */ ApiOperation("文件上传") PostMapping("/upload") public R upload(MultipartFile file){String uploadUrl fileService.upload(file);return R.ok().message("文件上传成功").data("url",…

一遍看懂面试算法——二叉树

目录 二叉树的种类 满二叉树 完全二叉树 二叉搜索树 平衡二叉搜索树 二叉树的存储方式 二叉树的遍历方式 二叉树的递归遍历 二叉树的迭代遍历 前序遍历&#xff08;迭代法&#xff09; 中序遍历&#xff08;迭代法&#xff09; 后序遍历&#xff08;迭代法&#xff…

Python-如何使用正则表达式

如何利用Python使用正则表达式 目录 正则表达式常用匹配规则 ​编辑re库的使用 match()方法&#xff1a; search()方法: findall()方法 : sub()方法: compile()方法; 通用匹配 贪婪与非贪婪匹配 贪婪匹配 非贪婪匹配 修饰符 转义匹配 正则表达式是处理字符的强大…

高电压放大器ATA-2021B技术指标

随着ATA-2021H高压放大器的升级改版&#xff0c;新品ATA-2021B高电压放大器走进了更多工程师、研究人员的视野。相比于升级之前&#xff0c;ATA-2021B高压放大器拥有了更多更好地优势&#xff0c;可以更好地的帮助研究人员高效完成测试项目。今天Aigtek小编就带大家了解一下关于…

liunx时间慢几分钟,定时更新系统时间

#&#xff01;/bin/sh hwclock --hctosys echo "执行成功" 定时5分钟执行一次

minitab学习系列(2)--DOE逐步方法选择

系列文章目录 文章目录 系列文章目录前言一、DOE>因子>分析因子设计>逐步二、DOE>因子>分析因子设计>逐步>层次结构总结 前言 一、DOE>因子>分析因子设计>逐步 逐步删除和向模型中添加项以确定有用的项的子集。Minitab提供了三个常用过程&…

油画欣赏|《沧海的线条》在群山之间

《沧海的线条》80x65cm陈可之•2006年绘油画《沧海的线条》&#xff0c;通过绘画艺术的手法&#xff0c;描绘出三峡群山之间那一层层波浪般的纹理&#xff0c;展现出天地间岁月的古老沧桑变迁。此作品是陈可之先生百余幅三峡系列作品之一。夜&#xff0c;群山高大挺立。没有植被…

[SSM]Spring中的JdbcTemplate

目录 十三、JdbcTemplate 13.1环境准备 13.2新增 13.3修改 13.4删除 13.5查询 13.6查询一个值 13.7批量添加 13.8批量修改 13.9批量删除 13.10使用回调函数 13.11使用德鲁伊连接池 十三、JdbcTemplate JdbcTemplate是Spring提供的一个JDBC模板类&#xff0c;是对JDBC…

el-tree数据渲染超出省略

el-tree数据渲染超出省略 问题 <el-tree:data"deptOptions":props"defaultProps":expand-on-click-node"false":filter-node-method"filterNode"ref"tree"default-expand-allhighlight-currentnode-click"handleNo…

来自随身WIFI不限流量的暴击,今天你被割韭菜了吗?

大家好&#xff0c;前几天很多小伙伴私信葫芦妹&#xff0c;反馈买了个无限流量随身WIFI&#xff0c;一开始挺好用的&#xff0c;怎么用着用着不行了呢&#xff1f;必须让我给普及下。那么既然这些小伙伴需求这么强烈&#xff0c;那么今天葫芦妹得赶紧来教你如何辨别随身WIFI的…

【100天精通python】Day17:常见异常类型与解决,异常处理语句

目录 一 python 的常见异常类型与解决 二 常用的异常处理语句 1 try...except语句 2 try...except...else语句 3 try...except...finally语句 4 使用raise语句抛出异常 5 自定义异常类型 6 异常链处理 在 Python中&#xff0c;异常是在程序运行时发生的错误或意外情…