Applet的页面代码保护问题浅析 | ||||||||
---|---|---|---|---|---|---|---|---|
http://www.sina.com.cn 2005年02月28日 16:11 IT168.com | ||||||||
文/风之扬 Java语言是目前网上最流行的编程语言之一,自从1995年5月SUN公司开发出该语言以来,它已经从一种编程语言演化为一个广泛应用的计算平台,其“编写一次,到处运行”的跨平台优势更是给整个网络安全带来了巨大的变革。由于它的安全设计起点高,也吸引了不少好奇的眼光。但是,Java程序的源代码很容易被别人偷看!通过反编译器,可以十分容易分析出代码。那么,Java平台是如何来实现它的安全呢?不少开发者喜欢用一些Java Applet给某个页面加上密码,从而达到保护敏感页面的目的。仔细分析,我
1、AWP保护方式分析 AWP的正式名称是Applet Web Password,其演示地址为:http://shareit1.element5.com/programs.html?productid=106801&language=English&reseller=IS。它先将用户名、密码、所要保护的页面的URL经过加密之后嵌入到html源码中,作为启动该applet的参数。当访问者输入正确的用户名和密码之后,该applet才把正确的URL显示给来访者,这样只有经过身份认证的来访者才能看到被保护的页面的URL。 下面是一个例子,其中user1、user2就是密文。Applet Web Password的发行包里面带有一个小程序专门根据用户名、密码、被保护的URL生成相应的密文。 <applet code="islogin.class" width="280" height="110"> 可见,这种保护方式有先天缺陷。因为任何人都可以察看嵌有该applet的html源码,这样可以得到用户名、密码和URL的密文。而该applet的class文件也可以下载到本地进行分析。有了密文和解码算法,自然可以轻易地得到明文。因为它必须采用可逆算法才能恢复要保护的URL,从而直接得到被保护的URL,所以也可以分析Applet Web Password中加密程序的加密算法,从而找出解码算法。
|