三、Web安全相关知识

请勿用于非法用途

文章目录

  • 一、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)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【UniApp开发小程序】悬浮按钮+出售闲置商品+商品分类选择【基于若依管理系统开发】

文章目录 界面效果界面实现悬浮按钮实现商品分类选择界面使元素均匀分布 闲置商品描述信息填写界面价格校验 界面效果 【悬浮按钮】 【闲置商品描述信息填写界面】 【商品分类选择界面】 【分类选择完成】 界面实现 悬浮按钮实现 悬浮按钮漂浮于页面之上&#xff0c;等页面…

上门小程序开发|上门服务小程序|上门家政小程序开发

随着移动互联网的普及和发展&#xff0c;上门服务成为了许多人生活中的一部分。上门小程序是一种基于小程序平台的应用程序&#xff0c;它提供了上门服务的在线平台&#xff0c;为用户提供了便捷的上门服务体验。下面将介绍一些适合开发上门小程序的商家。   家政服务商家&am…

Mybatis初识(一)

一.Mybatis是什么 MyBatis 是一款优秀的持久层框架&#xff0c;它支持自定义SQL、存储过程以及高级映射。MyBatis 去除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的XML或注解来配置,和映射原始类型、接口和Java POJO (Plain Old Java Objects…

动态线程池问题的解决

项目中需要将线程池也监控管理起来。 于是决定引入了hippo4j&#xff0c;这个引入很简单&#xff0c;官方的例子也很简单&#xff0c;拿过来直接跑。 出现问题了&#xff0c;用的和例子一模一样的&#xff0c;也没什么错&#xff0c;但是就是在服务器的管理控制台上没有找到动态…

Godot 4 插件 - Utility AI 研究

今天看到一个视频教学 Godot4 | 实现简单AI | Utility AI 插件_哔哩哔哩_bilibili 就看了一下。吸引我的不是插件&#xff0c;是AI这两个字母。这AI与Godot怎么结合&#xff1f;感觉还是离线使用&#xff0c;值得一看。 视频时间不长&#xff0c;15分钟左右&#xff0c;看得…

C#——多线程之Task

C#——多线程之Task 前言一、Task是什么&#xff1f;二、各应用场景以及实例分析1.异步执行代码2.等待异步操作完成3.并行执行多个任务4.处理异常5.取消异步操作 三、一些其他问题1.WhenAll与WhenAny的区别 总结 前言 在代码编写过程中&#xff0c;经常会用到多线程的知识&…

初步了解C++模板

一、函数模板 如果我们要写一个交换两个变量值的函数Swap&#xff0c;那么我们得对每一种类型都写一个&#xff0c;以便适用不同类型的参数&#xff0c;但是有了模板之后&#xff0c;可以简化操作 template<class T> void Swap(T& x, T& y) {T tmp x;x y;y …

第J2周:ResNet50V2算法实战与解析

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f366; 参考文章&#xff1a;365天深度学习训练营-第J2周&#xff1a;ResNet50V2算法实战与解析&#x1f356; 原作者&#xff1a;K同学啊|接辅导、项目定制 目录 一、论文解读1. ResNetV2结构与…

Linux下查找python路径

本地目前装了几个版本的python&#xff0c;这里记录下查找python路径的方法。 1&#xff1a;whereis命令 whereis python2&#xff1a;which命令 which python与whereis相似&#xff0c;但which会返回第一个找到的执行文件的位置。 3&#xff1a;find命令 find命令可以搜索系…

CenOS设置启动级别

背景知识 init一共分为7个级别&#xff0c;这7个级别的所代表的含义如下 0&#xff1a;停机或者关机&#xff08;千万不能将initdefault设置为0&#xff09;1&#xff1a;单用户模式&#xff0c;只root用户进行维护2&#xff1a;多用户模式&#xff0c;不能使用NFS(Net File S…

【Docker】Docker相关基础命令

目录 一、Docker服务相关命令 1、启动docker服务 2、停止docker服务 3、重启docker服务 4、查看docker服务状态 5、开机自启动docker服务 二、Images镜像相关命令 1、查看镜像 2、拉取镜像 3、搜索镜像 4、删除镜像 三、Container容器相关命令 1、创建容器 2、查…

【C++】开源:Linux端ALSA音频处理库

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍Linux端ALSA音频处理库。 无专精则不能成&#xff0c;无涉猎则不能通。。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c…

Windows数据类型LPSTR学习

Windows在C语言的基础之上又定义了一些Windows下的数据类型&#xff1b;下面学习一下LPSTR&#xff1b; LPSTR和LPWSTR是Win32和VC所使用的一种字符串数据类型。LPSTR被定义成是一个指向以NULL(‘\0’)结尾的32位ANSI字符数组指针&#xff0c;而LPWSTR是一个指向以NULL结尾的64…

代码版本管理工具 git

1. 去B站看视频学习&#xff0c;只看前39集&#xff1a; 01-Git概述&#xff08;Git历史&#xff09;_哔哩哔哩_bilibili 2.学习Linux系统文本编辑器的使用 vi编辑器操作指令分享 (baidu.com) (13条消息) nano编辑器的使用_SudekiMing的博客-CSDN博客 windows下载安装Git官…

电路原理分析1

d2的作用是提供一个1.25v的电平 r3、r4的作用都是限流 c1是滤波 运放的4、8脚是常规的外围 这个运放是一个运算放大电路 具体计算是这样的&#xff1a; 按照虚短原则&#xff0c;输入的信号Uinu1,输出的信号Uoutu3 按照虚断原则&#xff0c;i1i2i5i5 u1/r2i1i5&#xff…

Longhorn vs Rook vs OpenEBS vs Portworx vs IOMesh:细说 5 款 K8s 持久化存储产品优劣势

云原生时代下&#xff0c;越来越多的企业开始使用 Kubernetes&#xff08;K8s&#xff09;承载数据库、消息中间件等“生产级”有状态工作负载。由于这些应用对数据持久保存、性能、容量扩展和快速交付具有较高的要求&#xff0c;企业往往需要采用专为 Kubernetes 环境设计的持…

wxwidgets Ribbon使用简单实例

// RibbonSample.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <wx/wx.h> #include "wx/wxprec.h" #include "wx/app.h" #include "wx/frame.h" #include "wx/textctrl.h" #include "…

教雅川学缠论02-K线

传统行情上的K线是下图中这样子的 而在缠论中K线是下面这样子的&#xff0c;它没有上影线和下影线 下图是武汉控股2023年7月的日K线 接下来我们将它转换成缠论K线&#xff08;画图累死我了&#xff09; K线理解了我们才能进行下一步&#xff0c;目前位置应该很好理解的

压缩算法的原理丨基因型vcf文件为什么压缩后发生了什么?

压缩算法的本质 最近碰到一个神奇的现象&#xff0c;一份大小为16GB的xx.vcf.gz文件&#xff0c;解压之后体积变为600GB的vcf文件&#xff0c;为什么一份文件经过压缩后体积缩小了这么多&#xff1f; (work) [bio notes 21:29:40 ~/work/20230726/data]$ ls -lh总用量 620GB-…

OnnxRuntime TensorRT OpenCV::DNN性能对比(YoloV8)实测

1. 前言 之前把ORT的一套推理环境框架搭好了,在项目中也运行得非常愉快,实现了cpu/gpu,fp32/fp16的推理运算,同onnx通用模型在不同推理框架下的性能差异对比贴一下,记录一下自己对各种推理框架的学习状况 YoloV8模型大小 模型名称参数量NANO3.2M...... 2. CPU篇 CPU推理框架性…