三、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应用分类
- 论坛
- 聊天
- 电子邮件
- 搜索引擎
- 电商
- 内容管理系统(CMS)
相关文章:
三、Web安全相关知识
请勿用于非法用途 文章目录 一、Web源码框架二、目录结构1、静态资源2、WEB-INF(1)classes(2)lib(3)web.xml 二、web脚本语言1、脚本种类(1)ASP(2)ASP.NET&am…...
Android系统服务之AMS
目录 概述 重点和难点问题 启动方式 main入口: run方法: BootstrapSevices 小结: 与其他线程的通信原理 参考文档: 概述 AMS是Android系统主要负责四大组件的启动,切换,调度以及应用程序进程管理和调度等工…...
Unity UGUI的EventTrigger (事件监听器)组件的介绍及使用
Unity UGUI的EventTrigger (事件监听器)组件的介绍及使用 1. 什么是EventTrigger组件? EventTrigger是Unity UGUI中的一个组件,用于监听和响应UI元素的各种事件,例如点击、拖拽、进入、离开等。通过EventTrigger组件,我们可以方…...
Matlab的SimuLink对FS32K144编程--内部数据存储Flash
前言 Flah擦写是由寿命的,应当减免无效的擦写,如数据值不变不进行擦写 1、新建工程完成后,拖出Flash的存储控制初始化…...
【MySQL】centos 7下MySQL的环境搭建
从本期博客开始我们正式进入到数据库的学习,在学习数据库时所用到的工具是Linux环境下的MySQL 目录 一、检查环境中是否装有MySQL 二、获取MySQL官方yum源 三、配置MySQL官方yum源 四、一键安装MySQL 五、启动mysql服务 六、登录MySQL 七、修改mysql配置文件…...
【SpringCloud Alibaba】(四)使用 Feign 实现服务调用的负载均衡
在上一文中,我们实现了服务的自动注册与发现功能。但是还存在一个很明显的问题:如果用户微服务和商品微服务在服务器上部署多份的话,之前的程序无法实现服务调用的负载均衡功能。 本文就带着大家一起实现服务调用的负载均衡功能 1. 负载均衡…...
ShardingSphere-Proxy水平分片详解与实战
🚀 ShardingSphere 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜&…...
PTA 1052 Linked List Sorting
个人学习记录,代码难免不尽人意。 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示例电商数据平台
下面是一个简单的示例,展示了如何对接一个API,并附带了一些Python代码作为参考。 寻找合适的API:首先,你需要找到符合你需求的API。你可以通过搜索引擎或者开发者平台来查找API文档。确保你在使用API时遵循相关的规则和限制。 注…...
如何做好IT类的技术面试
目录 一、IT行业的招聘渠道 二、如何做好技术面试官 三、谈谈IT行业如何做好招聘工作 四、面试IT公司的小技巧 五、面试有哪些常见的问题 六、关于面试的一些建议 面试可能是我们每个人都必须会遇到的事情,而技术面试更具有专业性,以下会从几个方面…...
比memcpy还要快的内存拷贝,了解一下
前言 朋友们有想过居然还有比memcpy更快的内存拷贝吗? 讲道理,在这之前我没想到过,我也一直觉得memcpy就是最快的内存拷贝方法了。 也不知道老板最近是咋了,天天开会都强调:“我们最近的目标就一个字,性能优…...
正则表达式常用字符及案例
引言 正则表达式是一种强大而灵活的工具,它在文本搜索和处理中起到了至关重要的作用。熟练掌握正则表达式的常用字符和使用方法,将能帮助开发者更加高效地进行模式匹配和字符串操作。本文将介绍一些常见的正则表达式字符,并给出一些实际案例…...
周训龙老兵参观广西森林安全紧急救援装备演练
7月21日上午,周训龙老兵参观广西紧急救援促进中心在南宁市青秀山举行森林安全紧急救援装备演练,多功能水罐消防车、无人救援机等先进设备轮番上阵,展示了广西应对突发事件的紧急救援速度和水平。广西壮族自治区应急厅不情愿参此次演练活动。 …...
[开发|java] java 将json转化java对象
使用Jackson库将JSON转换为Java对象: 安装依赖 <!-- Jackson Core --> <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.12.5</version> </depen…...
平台化的测试工具推荐|一站式测试平台RunnerGo
互联网行业的发展到今天越来越多的公司更加注重工作效率和团队协作,越来越多的产品也趋于平台化,平台化也更有利于提高团队效率,代码管理、持续构建、持续部署这些工具的发展都是非常超前的,它们对于团队协作的支持和工作效率的提…...
PCB封装设计指导(十五)验证封装的正确性
PCB封装设计指导(十五)验证封装的正确性 封装建立好之后,我们需要验证封装是否能够正常的放入PCB文件中,最好最直接的办法就是直接放入PCB中来验证。 具体操作如下 任意新建一个空白的PCB文件点击File 选择NEW...
Godot 4 插件 - Utility AI 研究
今天看到一个视频教学 Godot4 | 实现简单AI | Utility AI 插件_哔哩哔哩_bilibili 就看了一下。吸引我的不是插件,是AI这两个字母。这AI与Godot怎么结合?感觉还是离线使用,值得一看。 视频时间不长,15分钟左右,看得…...
第八章:将自下而上、自上而下和平滑性线索结合起来进行弱监督图像分割
0.摘要 本文解决了弱监督语义图像分割的问题。我们的目标是在仅给出与训练图像关联的图像级别对象标签的情况下,为新图像中的每个像素标记类别。我们的问题陈述与常见的语义分割有所不同,常规的语义分割假设在训练中可用像素级注释。我们提出了一种新颖的…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
