三、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)
相关推荐
txg6661 天前
HgtJIT:基于异构图 Transformer 的即时漏洞检测框架
人工智能·深度学习·安全·transformer
zyl837211 天前
前端开发网络安全注意事项
安全·web安全
OpenAnolis小助手1 天前
Anolis OS Linux Dirty Frag 漏洞安全声明
linux·安全·web安全·龙蜥社区
tingting01192 天前
敏感目录扫描及响应码
安全
智慧医养结合软件开源2 天前
规范新增·精准赋能,凝聚志愿力量守护老人安康
大数据·安全·百度·微信·云计算
KKKlucifer2 天前
数字安全浪潮下国产数据安全企业发展图鉴
大数据·安全
淼淼爱喝水2 天前
Pikachu 靶场 RCE 模块乱码问题解决方法
网络·安全·pikachu
hahaha 1hhh2 天前
用SSH 建立了一个本地端口转发隧道,用于安全地访问远程服务器上的服务,后台运行。autodl
服务器·安全·ssh
IT23102 天前
国产OpenClaw产品崛起:博云BoClaw如何破解AI智能体的「安全与自主」双命题
人工智能·安全
MicroTech20252 天前
量子安全赋能协同智能,微算法科技(NASDAQ :MLGO)研发PQS-BFL后量子区块链联邦学习框架
科技·算法·安全