明白Web应用程序技术之web功能

学习web功能,除了核心通信机制使用的核心技术之外,web应用程序还使用独有技术实现特有功能。所以渗透前要摸头web的功能。要知道自动化测试工具的成长也是要经历很多磨难的,但创业者们从不畏惧,大胆向前。
web功能分为:
服务器功能
客户端功能
会话与状态
服务器功能
早期,web站点由html文档与图片等静态资源组成,用户请求==静态资源==,web站点返回。
现在web依然有很多静态资源,但是更多的是用户==动态请求==,web应用程序根据用户的请求参数来返回动态的响应内容。动态内容通常是由在服务器上执行的脚本生成。(脚本可以看做一个程序,有输入、输出、执行)
http请求提交参数的方式有:
通过url使用请求字符串
通过http cookie
请求主体中使用post方法
除此以外,服务器可以使用http请求中任何部分作为输入。
web应用程序在服务器端使用大量技术实现其功能:
脚本语言(php,vbscript,perl)
web应用程序平台(aspnet、java)
web服务器(apache、iis、netscape enterprise)
数据库(ms-sql、oracle、mysql)
其他后端组件(文件系统、基于soap的目录服务)
web应用程序平台及语言:
1java平台:
java平台企业版是大型企业的标准应用程序,由sun开发,应用多层,负载均衡,适用于模块化开发与代码重复利用。同时还有许多高质量的开发工具,服务器,框架。
几个专用术语:
enterprise java bean(ejb):是用于构建高度可扩展性和强大的企业级应用程序被部署在j2ee应用服务器如jboss的开发架构,web逻辑等。
简单传统java对象:普通java对象,表示用户定义的轻量级框架中的对象。
java sverlet:应用程序服务器的一个对象,接收http请求并返回响应。提供web应用程序开发接口。
javaweb容器:基于java的web应用程序运行的平台或环境。例如:apache、tomcat。
如果渗透前找到应用程序的开源软件包,那么就可以进行代码审查,寻找漏洞
2aspnet
微软开发的应用程序框架。使用net framework,提供一个虚拟机(clr,通用语言运行时)与一组强大的api。 可以用visual studio开发。
3php
·功能强大、应用丰富。经常与其他技术整合使用,例如(lnmp:linux,nginx,mysql,php)。
因为免费而且简单易用,所以应用广泛。但是php框架设计与默认配置导致代码中有很多漏洞。后续会详细讲解。
最后来个web应用程序整和: