目录

什么是脚本语言

asp

aspx

asp与aspx的区别

JSP

判断方法

1. 根据cookie值

2. Wappalyzer

3. 响应包的server值


分享一些在渗透测试中比较有用的经常能用到的方法。而不是简单罗列方法。

常见的脚本语言比如:asp,aspx,jsp,jspx,php等

什么是脚本语言

语言可以分为两类,编译型和解释型。

  • 编译:是要把你的写的程序先编译一下,然后才能执行。在编译的时候,会报错
  • 解释:直接运行,不需要编译。运行到错误的地方,才会报错

脚本语言概念类似解释型语言,也是不需要编译生成新文件,直接在环境中运行源码就可以。为什么叫“脚本”?它的英文是“Script ”,翻译成中文就是【脚本】。有点像拍电影时,演员照着脚本,一步一步地表演。

所以我们常听说的php,python,js,asp,jsp等都是脚本语言

asp

文件后缀名为.asp

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境,可用来创建动态交互式网页并建立强大的web应用程序。当服务器收到对ASP文件的请求时,它会处理包含在用于构建发送给浏览器的HTML(Hyper Text Markup Language,超文本置标语言)网页文件中的服务器端脚本代码。除服务器端脚本代码外,ASP文件也可以包含文本、HTML(包括相关的客户端脚本)和com组件调用

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

1. 历史

       在Internet风行的早期,浏览器中显示的网页仅是静态的图文组合而已,浏览者可以在网页上阅读信息,但无法进一步地发表意见、查询信息或进行在线购物等商务活动。为此,人们提出了动态网页或交互网页的概念和解决方案。所谓“动态网页”,是指客户端浏览器和Web服务器端可以互动,也就是服务器端可以实时处理浏览器端的请求(Request),然后再将处理的结果作为对浏览器请求的响应(Response)传送给浏览器。

由于Web程序开发十分复杂,以至于要制作一个简单的动态页面也需要编写大量的C代码才能完成。于是Microsoft公司于1996年推出一种Web应用开发技术ASP,用于取代对Web服务器进行可编程扩展的CGI标准。 [1] 

ASP 1.0作为IIS(Internet Information Server,Internet信息服务器)的附属产品免费发送,不久就在Windows平台上广泛使用。ASP与ADO的结合使开发者很容易地在一个数据库中建立和打开一个记录集。

1998年,微软公司又发布了ASP 2.0。ASP 1.0和ASP 2.0主要区别在于外部组件。有了ASP 2.0和IIS 4.0,就可以建立ASP应用了。

在微软公司开发的Windows 2000操作系统中就开始带上了IIS 5.0及ASP 3.0。虽然Windows已经发展到比较高的版本,但是开发领域中依然百分之百采用Windows 2000 Server。Windows 2000包括三个不同的版本:Windows 2000 Professional,Windows 2000 Server和Windows 2000 Advanced Server。按照默认设置安装Windows 2000 Server,安装时不用作任何改动,这样就可配置好ASP的运行环境。

aspx

aspx文件是微软的在服务器端运行的动态网页文件,而不像静态的html文件。它通过IIS解析执行后可以得到动态页面,是微软推出的一种新的网络编程方法,而不是asp的简单升级,因为它的编程方法和asp有很大的不同,他是在服务器端靠服务器编译执行的程序代码,

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

asp文件都是文本形式的,可以用任何的文本编辑器打开,如notepad ,editplus,dreamwaver,frontpage

但编辑aspx文件最好用Visual Studio.Net来编辑。

aspx就是技术,它的安全性比较高,它与java是两个不同的分类,各有所长。

asp与aspx的区别

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

所以在渗透测试中就可以判断其采用的脚本语言是asp还是aspx,上传对应后缀的web后门

JSP

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

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

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

判断方法

1. 根据cookie值

截取网站的数据包如下,根据传递的cookie值,比如 PHP 使用的会话ID是 PHPSESSID,JSP 使用的会话 ID 是 JSESSION。所以下面网站使用的脚本语言为JSP。若该网站存在任意文件上传漏洞则可以上传jsp文件的后门程序。

2. Wappalyzer

这是一款火狐的插件,可以用来判断网站的一些基本信息,比如网站使用的框架和脚本语言。如下为java,而我们知道jsp以java语言作为脚本语言。所以可以上传JSP后缀文件

3. 响应包的server值

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

未完...

 

更多推荐

网站脚本语言识别