当前位置: 首页 > news >正文

三、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)

相关文章:

三、Web安全相关知识

请勿用于非法用途 文章目录 一、Web源码框架二、目录结构1、静态资源2、WEB-INF&#xff08;1&#xff09;classes&#xff08;2&#xff09;lib&#xff08;3&#xff09;web.xml 二、web脚本语言1、脚本种类&#xff08;1&#xff09;ASP&#xff08;2&#xff09;ASP.NET&am…...

Android系统服务之AMS

目录 概述 重点和难点问题 启动方式 main入口&#xff1a; run方法&#xff1a; BootstrapSevices 小结&#xff1a; 与其他线程的通信原理 参考文档&#xff1a; 概述 AMS是Android系统主要负责四大组件的启动&#xff0c;切换&#xff0c;调度以及应用程序进程管理和调度等工…...

Unity UGUI的EventTrigger (事件监听器)组件的介绍及使用

Unity UGUI的EventTrigger (事件监听器)组件的介绍及使用 1. 什么是EventTrigger组件&#xff1f; EventTrigger是Unity UGUI中的一个组件&#xff0c;用于监听和响应UI元素的各种事件&#xff0c;例如点击、拖拽、进入、离开等。通过EventTrigger组件&#xff0c;我们可以方…...

Matlab的SimuLink对FS32K144编程--内部数据存储Flash

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ 前言 Flah擦写是由寿命的&#xff0c;应当减免无效的擦写&#xff0c;如数据值不变不进行擦写 1、新建工程完成后&#xff0c;拖出Flash的存储控制初始化…...

【MySQL】centos 7下MySQL的环境搭建

从本期博客开始我们正式进入到数据库的学习&#xff0c;在学习数据库时所用到的工具是Linux环境下的MySQL 目录 一、检查环境中是否装有MySQL 二、获取MySQL官方yum源 三、配置MySQL官方yum源 四、一键安装MySQL 五、启动mysql服务 六、登录MySQL 七、修改mysql配置文件…...

【SpringCloud Alibaba】(四)使用 Feign 实现服务调用的负载均衡

在上一文中&#xff0c;我们实现了服务的自动注册与发现功能。但是还存在一个很明显的问题&#xff1a;如果用户微服务和商品微服务在服务器上部署多份的话&#xff0c;之前的程序无法实现服务调用的负载均衡功能。 本文就带着大家一起实现服务调用的负载均衡功能 1. 负载均衡…...

ShardingSphere-Proxy水平分片详解与实战

&#x1f680; ShardingSphere &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&…...

PTA 1052 Linked List Sorting

个人学习记录&#xff0c;代码难免不尽人意。 A linked list consists of a series of structures, which are not necessarily adjacent in memory. We assume that each structure contains an integer key and a Next pointer to the next structure. Now given a linked li…...

五,Eureka 第五章

5.3.2 修改pom添加依赖 <dependencies><!--公共部门--><dependency><groupId>cn.bdqn</groupId><artifactId>springcloud-api-commons</artifactId><version>${project.version}</version></dependency><!--e…...

yolov5目标框的融合(两个或多个框)

框的融合 1.多个框的融合 方法一: import os import numpy as np import glob import cv2 from PIL import Image,ImageFont,ImageDraw import randomCOLORS = np.random.uniform(0, 255, size=...

pythonAPI对接示API示例电商数据平台

下面是一个简单的示例&#xff0c;展示了如何对接一个API&#xff0c;并附带了一些Python代码作为参考。 寻找合适的API&#xff1a;首先&#xff0c;你需要找到符合你需求的API。你可以通过搜索引擎或者开发者平台来查找API文档。确保你在使用API时遵循相关的规则和限制。 注…...

如何做好IT类的技术面试

目录 一、IT行业的招聘渠道 二、如何做好技术面试官 三、谈谈IT行业如何做好招聘工作 四、面试IT公司的小技巧 五、面试有哪些常见的问题 六、关于面试的一些建议 面试可能是我们每个人都必须会遇到的事情&#xff0c;而技术面试更具有专业性&#xff0c;以下会从几个方面…...

比memcpy还要快的内存拷贝,了解一下

前言 朋友们有想过居然还有比memcpy更快的内存拷贝吗&#xff1f; 讲道理&#xff0c;在这之前我没想到过&#xff0c;我也一直觉得memcpy就是最快的内存拷贝方法了。 也不知道老板最近是咋了&#xff0c;天天开会都强调&#xff1a;“我们最近的目标就一个字&#xff0c;性能优…...

正则表达式常用字符及案例

引言 正则表达式是一种强大而灵活的工具&#xff0c;它在文本搜索和处理中起到了至关重要的作用。熟练掌握正则表达式的常用字符和使用方法&#xff0c;将能帮助开发者更加高效地进行模式匹配和字符串操作。本文将介绍一些常见的正则表达式字符&#xff0c;并给出一些实际案例…...

周训龙老兵参观广西森林安全紧急救援装备演练

7月21日上午&#xff0c;周训龙老兵参观广西紧急救援促进中心在南宁市青秀山举行森林安全紧急救援装备演练&#xff0c;多功能水罐消防车、无人救援机等先进设备轮番上阵&#xff0c;展示了广西应对突发事件的紧急救援速度和水平。广西壮族自治区应急厅不情愿参此次演练活动。 …...

[开发|java] java 将json转化java对象

使用Jackson库将JSON转换为Java对象&#xff1a; 安装依赖 <!-- Jackson Core --> <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.12.5</version> </depen…...

平台化的测试工具推荐|一站式测试平台RunnerGo

互联网行业的发展到今天越来越多的公司更加注重工作效率和团队协作&#xff0c;越来越多的产品也趋于平台化&#xff0c;平台化也更有利于提高团队效率&#xff0c;代码管理、持续构建、持续部署这些工具的发展都是非常超前的&#xff0c;它们对于团队协作的支持和工作效率的提…...

PCB封装设计指导(十五)验证封装的正确性

PCB封装设计指导(十五)验证封装的正确性 封装建立好之后,我们需要验证封装是否能够正常的放入PCB文件中,最好最直接的办法就是直接放入PCB中来验证。 具体操作如下 任意新建一个空白的PCB文件点击File 选择NEW...

Godot 4 插件 - Utility AI 研究

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

第八章:将自下而上、自上而下和平滑性线索结合起来进行弱监督图像分割

0.摘要 本文解决了弱监督语义图像分割的问题。我们的目标是在仅给出与训练图像关联的图像级别对象标签的情况下&#xff0c;为新图像中的每个像素标记类别。我们的问题陈述与常见的语义分割有所不同&#xff0c;常规的语义分割假设在训练中可用像素级注释。我们提出了一种新颖的…...

MySql忘记密码如何修改

前言 好久没用数据库的软件了&#xff0c;要用的时候突然发现密码已经忘记了&#xff0c;怎么试都不对&#xff0c;心态直接爆炸&#xff0c;上一次用还是22年6月份&#xff0c;也记不得当时用数据库干什么了&#xff0c;这份爆炸浮躁的心态值得这样记录一下&#xff0c;警示自…...

【NetCore】04-作用域与对象释放行为

文章目录 作用域 作用域由IServiceScope接口承载 对象释放 实现IDisposable接口类型释放 1.DI只负责释放由其创建的对象实例 2.DI在容器或子容器释放时&#xff0c;释放由其创建的对象实例 建议 1.避免在根容器获取实现IDisposable接口的瞬时服务 2.避免手动创建实现了IDispo…...

新材料技术的优势

目录 1.什么是新材料技术 2.新材料技术给人类带来了哪些便利 3.新材料技术未来的发展趋势 1.什么是新材料技术 新材料技术指的是通过科学和工程技术的手段开发和应用全新的材料&#xff0c;以满足特定的需求和应用。新材料技术是材料科学和工程领域的重要研究方向&#xff0…...

HTTPS、DNS、正则表达式

HTTPS原理 HTTPS&#xff08;Hypertext Transfer Protocol Secure&#xff09;是一种安全的通信协议&#xff0c;它基于HTTP协议&#xff0c;在数据传输过程中使用了加密技术来保护通信的安全性和完整性。HTTPS的工作原理主要包括以下几个步骤&#xff1a; 客户端发起HTTPS请求…...

MAC电脑设置charles,连接手机的步骤说明(个人实际操作)

目录 一、charles web端设置 1. 安装charles之后&#xff0c;先安装证书 2. 设置 Proxy-Proxy Settings 3. 设置 SSL Proxying 二、手机的设置 1. 安卓 2. ios 资料获取方法 一、charles web端设置 1. 安装charles之后&#xff0c;先安装证书 Help-SSL Proxying-Inst…...

百度文心一言接入教程-Java版

原文链接 前言 前段时间由于种种原因我的AI BOT网站停运了数天&#xff0c;后来申请了百度的文心一言和阿里的通义千问开放接口&#xff0c;文心一言的接口很快就通过了&#xff0c;但是文心一言至今杳无音讯。文心一言通过审之后&#xff0c;很快将AI BOT的AI能力接入了文心…...

Games101学习笔记 - 基础数学

向量 向量&#xff1a;方向和长度&#xff0c;没有起始位置 向量长度&#xff1a;各个方向平方相加开方 单位向量&#xff1a;向量除向量的长度 点乘 在笛卡尔坐标系中的点乘计算&#xff1a; 几何意思&#xff1a; 表示一个向量在另一个向量上的投影点乘在图形学中应用&a…...

Linux进程的认识

查看进程指令proc/ps 注意哦, 我们经常使用的指令, 像ls, touch…这些指令在启动之后本质上也是进程 proc 是内存文件系统, 存放着当前系统的实时进程信息. 每一个进程在系统中, 都会存在一个唯一的标识符(pid -> process id), 就如同学生在学校里有一个专门的学号一样. 大…...

向量vector与sort()

运行代码&#xff1a; //向量与sort() #include"std_lib_facilities.h" //声明Item类 struct Item {string name;int iid;double value;friend istream& operator>>(istream& is, Item& ii);friend ostream& operator<<(ostream& o…...

Netty学习(三)

文章目录 三. Netty 进阶1. 粘包与半包1.1 粘包现象服务端代码客户端代码 1.2 半包现象服务端代码客户端代码 1.3 现象分析粘包半包缘由滑动窗口MSS 限制Nagle 算法 1.4 解决方案方法1&#xff0c;短链接方法2&#xff0c;固定长度方法3&#xff0c;固定分隔符方法4&#xff0c…...