asp本身并不是一种脚本语言,他只是提供了一种使镶嵌在HTML页面中的脚本程序得以运行的环境,ASP采用脚本语言VBScript(Java script)作为自己的开发语言。ASP的后缀名为.asp

早期,浏览器中显示的网页仅仅只是静态的图文组合,浏览者可以浏览网页的信息,但是不能和浏览器产生交互(例如发表自己的意见、购物等等),后来才出现的动态网页,是指客户端浏览器和web服务器端可以互动,也就是服务器端实时的处理浏览器端的请求(Request),然后再将处理结果作为对浏览器端的响应(Respouse)传送给浏览器。

ASP作为IIS1.0的附属产品赠送,后来的ASP2.0和IIS4.0是同一个时期,SSI5.0和ASP3.0是在Windows 2000操作系统中自带的。

aspx文件是微软的在服务器端运行的动态网页文件,不像静态的HTML文件。它通过IIS解析后得到动态页面,不是asp简单的升级版,它是在服务器端靠服务器编译执行的程序代码。

ASP使用脚本语言,每次请求的时候,服务器端调用脚本解析引擎来解析其中的程序代码,而ASP.NET则可以使用多种脚本语言编写,而且是全编译执行的,比ASP快。

aspx就是用asp.net开发出来的网站的网页的默认后缀名。asp是.net技术,她得安全性比较高。

aspx文件都是文本形式的,可以用任何的文本编辑器打开。

asp和aspx的区别

asp采用的脚本语言为VBScript,文件后缀名为.asp。ASP程序只能通过IIS来工作,而IIS是Windows专属的,所以可以根据后缀名为asp判断其为Windows系统。
aspx使用asp.net编写的,文件的后缀名为.aspx。ASP.NET是基于Framework框架之上的,这是微软专属的,一般运行在Windows上,但是也不排除运行在linux上

jsp是技术,jsp技术以Java语言作为脚本语言,JSP是一种动态网页技术标准。他使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头,%>结尾。JSP是一种Java servlet(Java小程序),主要用于实现Java web应用程序的用户界面部分。开发通常通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。

JSP通过网页表单获取用户输入数据、访问数据及其他数据源,然后动态地创建网页。JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息

其对应的web服务器需支持JSP和Servlets发发,如nginx和Tomcat等

PHP是“超文本预处理器”,是在服务端执行的脚本语言。PHP是一种创建动态交互性站点的强有力的服务器端脚本语言。PHP代码在服务器上执行,结果以HTML形式返回给浏览器,所以web服务器不是发送源代码,而是首先将PHP代码转换为纯HTML格式来解析代码。

1.根据cookie值

根据数据包中传递的cookie值,比如PHP使用的会话ID是PHPSESSID,JSP使用的会话ID是JSESSION。下面网站使用的脚本语言为JSP。

2.响应包的server值

有时候网站的响应包会携带server信息,如下,这种情况多存在于内网中。公网很少,所以知道脚本语言为php。

3.网站查询

Check web technologies used by a website - Site Info 域名 (例如: Web Technologies used by Aluyy.cn )

4.根据服务器类型判断

IIS服务器一般都是ASP.NET。

Tomcat、Resin、JBoss一般都是java。

Nginx,很有可能是PHP或者Python之类的脚本语言。

5.使用Google hack语法

site:xxx.com inurl:php

site:xxx.com php

前面搜索域名,后面搜索脚本语言的后缀,例如php可以换成:aspx、asp、jsp

6.根据服务器平台来判断脚本

IIS6.0一般都是asp,小部分是aspx,也有很少一些php

IIS7.0一般都是aspx,小部分是asp

Nginx一般都是php

Apache一般都是php

小tips

1.构造畸形的请求
fuzz一下,让网站报错,很多信息可能隐藏在报错在中。
2.识别cms框架
通过识别cms框架的方式,类似扫描器或浏览器插件的原理,通过识别目录,指纹等信息来识别,如wordpress,joomla等,框架识别到了,语言也就知道了。
3.看http的返回头
4.通过前端文件分析
比如某些html中的链接,还有js中使用ajax技术需要请求的地址。
5.以及在网站后面加域名+index.php\idnex.asp\index.jsp\index.aspx\defualt.php\defualt.asp\default.jsp\default.aspx能正常打开该网站的就是用什么语言来做的----这些不是绝对,例如发开者更改了文件名字就行不通了,不过也可以通过burp进行爆破来尝试。
6.根据目录结构
包括url的结构,静态文件的结构等,如果使用了开发框架或者CMS系统,这些目录结构都有一定的规则。
7.根据网页的内容
可以用正则去匹配HTML代码,找出copyright(版权信息)、powered by(技术支持),进而得知使用的语言
8.网站查询
http://w3techs.com/sites/info/域名(例如:baidu.com)
这是一个简易的 Python 脚本,每隔一段时间获取页面,如果页面代码有变化,通过 SMTP 发信提醒你。仅适用于简单的页面。 import time import requests from email import encoders from email.header import Header from email.mime.text import MIMEText from email.u...
Date: Thu, 29 Nov 2012 01:08:16 GMT Server: Apache/2.2.15 (CentOS) X-Powered-By: PHP/5.2.17 Connection: close Transfer-Enc...
1. 根据 meta 信息判断 不少的 网站 会在 meta 添加框架的信息,比如 Joomla、XOOPS、MediaWiki 会添加 generator;phpBB 会添加 copyright;Avactis 会添加 author。通过这些可以探测 网站 使用 的建站系统,从而知道 使用 的语言。 2. 根据 script 标签判断 和上面的一样,探测 网站 使用 的建站系统,从而知道 使用 的语言。
【目标站的 脚本语言 识别】 1-1 最简单的方法,在域名后面分别加个/index.asp /index.aspx /index.php /index.jsp 不报错则是 网站 支持的 脚本语言 大部分 网站 根目录都会放个index首页文件。这是最快速最简单的方式。 1-2 F12审查元素,在返回头一般都能看到 网站 脚本。 1-3 网站 的robots.txt robo...
1.从判定结果 截取出代码状态。 2.编辑判定脚本 使用 curl -I 命令测试,然后通过awk截取状态代码。 3.写发送邮件的脚本,用sendEmail(生产环境有配套的模板)。 4.将判定与发送邮件关联起来。 以www.51xit.top为例,先 使用 curl -I 命令测试: 200就是我们要截取代码状态
可以 使用 Simulink Test Manager(STM)来进行单元测试并自动化测试过程。STM是Simulink的一个可扩展框架,用于管理测试用例和测试结果。您可以 使用 STM创建测试套件和测试用例,并将其与模型集成以验证模型的正确性。 在STM ,您可以 使用 MATLAB脚本来自定义测试任务。您可以 使用 MATLAB脚本编写测试用例、测试步骤和测试脚本。测试脚本可以 使用 M语言编写,以执行各种测试操作,例如设置输入信号、运行模型、比较输出信号等。您可以 使用 MATLAB脚本 的assert函数来验证预期和实际输出之间的差异。 以下是 使用 STM进行单元测试的一般步骤: 1. 创建测试套件和测试用例。 2. 在测试用例 定义测试步骤。 3. 在测试步骤 编写测试脚本。 4. 运行测试套件并查看测试结果。 下面是一个简单的MATLAB脚本示例,用于设置输入信号并运行模型: % Create input signal time = linspace(0, 10, 100); input_signal = sin(time); % Set input signal in model set_param('myModel/Input', 'Data', 'input_signal'); % Simulate model sim('myModel'); % Get output signal output_signal = yout.signals.values; % Compare output signal with expected signal expected_signal = cos(time); assert(all(abs(output_signal - expected_signal) < 0.01), 'Output signal does not match expected signal.'); 该脚本首先创建一个正弦输入信号,然后将其设置为名为“Input”的模型输入端口的数据。接下来,它 使用 sim命令运行模型,并获取输出信号。最后,它 使用 assert函数比较输出信号和预期信号,并在它们之间的差异超过0.01时引发异常。 您可以将此脚本作为测试步骤添加到测试用例 ,并在STM 运行它以执行单元测试。