作者:张波< mailto:zhangbo@nsfocus.com >
主页:http://www.nsfocus.com
有不少主页作者喜欢用一些Java Applet来保护一些比较敏感的页面,比如给某个页面加上密码等。首先我们注意到两个事实:1、由于Java Applet是要下载到客户端执行的,所以任何人都可以得到其*.class文件,从而可以利用Java反编译器或者反汇编器对其进行逆向工程,从而分析出其中所用到的算法和涉及到的隐藏的URL;2、另外,Java Applet能够读取的URL也是任何人都可以读取的。这是用Java Applet做网页保护的先天性的缺陷。下面举两个例子来说明。
一、islogin.class
islogin.class的正式名称是Applet Web Password(http://shareit1.element5.com/programs.html?productid=106801&language=English&reseller=IS)。其保护方式为:先将用户名、密码、正确的URL(即所要保护的页面的URL)经过加密之后嵌入到html源码中,作为启动该applet的参数。当访问者输入正确的用户名和密码之后,该applet才把正确的URL显示给来访者,这样只有经过身份认证的来访者才能看到被保护的页面的URL。
下面是一个例子,其中user1、user2就是密文。Applet Web Password的发行包里面带有一个小程序专门根据用户名、密码、被保护的URL生成相应的密文。
<applet code="islogin.class" width="280" height="110">
<param name="GENERATOR" value="Applet Web Password 2, http://software.ktc.lt">
<param name="general" value="16512
关键词:用Java Applet保护页面的缺陷