CH3 Web应用程序技术

一、HTTP

二、Web功能 
服务器端功能:
1.JAVA平台:

EJB:(Enterprise Java Bean),相对重量级的软件组件,它将一个特殊业务功能的逻辑组合到应用程序中。

POJO:(Plain Old Java Object),简单传统JAVA对象,常用于表示那些用户定义的、比EJB更加简单且更加轻量级的对象以及用在其他框架中的对象。

Java Servlet:是应用程序服务器中的一个对象,它接收客户端的HTTP请求并返回HTTP响应。Servlet可使用大量接口来促进应用程序开发。

Java Web容器:基于Java或WEB应用程序提供运行时环境的平台或引擎,如Apache Tomcat、BEA WebLogic和JBOSS

关键应用程序功能常用的组件包括:

身份验证——JAAS、ACEGI

表示层——SiteMesh、Tapestry

数据库对象关系映射——Hibernate

日志——Log4J

如果能确定应用程序使用的开源软件包,就可以下载进行代码审查,组件中的任何一个漏洞都可以被利用。

2、ASP.NET

使用.NET Framework,提供一个虚拟机(CLR,Common Language Runtime)与一组强大的API,可以使用任何.NET语言如C#或VB.NET来编写

框架本身就能防御一些常见的如XSS的漏洞。

3、PHP

公告牌——PHPBB、PHP-Nuke

管理前端——PHPMyAdmin

Web邮件——SquirrelMail、IlohaMail;

相册——Gallery

购物车——osCommerce、ECW-Shop

维客——MediaWiki、WakkaWikki

4、Ruby on Rails

漏洞信息参考:http://www.ruby-lang.org/zh_cn/security/

5、SQL

6、XML

7、WEB服务

WEB服务使用简单对象访问协议(SOAP)来交换数据,通常,SOAP使用HTTP协议来传送消息,并使用XML格式表示数据。

客户端功能:
1、HTML

2、超链接

3、表单

4、CSS

5、JavaScript

6、VBScript

7、DOM

8、Ajax:异步JavaScript和XML,但现在的Ajax请求既不需要是异步请求,也不使用XML

9、JSON

10、同源策略

11、HTML5

它引入了各种可用于传送跨站点脚本及实施其他攻击的新标签、属性和API

它对XMLHttpRequest这一核心Ajax技术进行了修改,在某些情况下可以实现双向跨域交互。这可能导致新的跨域攻击

它引入了新的客户端数据存储机制,这可能导致用户隐私问题以及新型攻击,如SQL注入

12、WEB 2.0

大量使用Ajax执行各种异步后台请求;

使用各种技术提高跨域集成;

在客户端使用各种新技术,包括XML,JSON和Flex;

采用更先进的技术来支持用户生成的内容、信息共享和交互。

13、浏览器扩展技术(厚客户端技术)

Java applet

ActiveX控件

Flash对象

Silverlight对象

三、编码方案:
1、URL编码

常见编码 :

%3d 代表=

%25 代表%

%20 代表空格

%0a 代表新行

%00 代表空字节

+  也表示空格

2、Unicode编码

16位Unicode,以%u为前缀,其后是这个字符的十六进制Unicode码点,如%u2215代表/

UTF-8编码,以%为前缀,用十六进制表示每个字节

常见编码 :

%u2215代表/

3、HTML编码

常见编码 :

&quote; 代表"

'  代表'

&  代表&

&lt;    代表<

&gt;    代表>

也可以用其十进制和十六进制的ASCII码表示:

&#34 和 &#x22 均代表"

&#39 和 &#x27 均代表'

4、Base64编码

A-Z a-z 0-9 + / 这几种组成

5、十六进制编码

6、序列化框架

Flex和AMF

Silverlight和WCF

Java序列化对象

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容