争怎路由网:是一个主要分享无线路由器安装设置经验的网站,汇总WiFi常见问题的解决方法。

用Java Applet保护页面的缺陷

时间:2024/7/16作者:未知来源:争怎路由网人气:

~mhk##fpcrSlhlbfpee#u??#lrig}??5qhqE$8(????">
  <param name="checkpoint" value="2">Your browser doesn't support Java, <br>
or Java capability is turned off.<br>
You are unable to login with Applet Web Password.
</applet>

可见,这种保护方式有先天缺陷。因为嵌有该applet的html的源码是任何人都可以察看的,这样可以得到用户名、密码和URL的密文。而该applet的class文件也可以下载到本地对其解码算法进行分析。有了密文和解码算法,自然可以轻易地得到明文(其实也可以分析Applet Web Password中带的那个加密程序的加密算法,从而找出解码算法,因为它必须采用可逆算法才能恢复要保护的URL),从而直接得到被保护的URL。

经过分析,发现其解码算法非常简单,所以这个applet根本不具实用价值。
下面附上解码程序。其中Encrypted是密文,Decrypted是解出来的明文。

void __fastcall TForm1::OnDecodeClick(TObject *Sender)
{
        char s[1024];
        char ac[1024];
        int  i, j, Total;
        char Key[]= "Default user name";

        Total = Encrypted->GetTextBuf(s, 1024);
        if (Total == 0)
        {
                return;
        }

        for(i = 0, j = 0; i < Total; i++)
if(s[i] == '#')
{
if(s[i + 1] == '#')
{
ac[j] = '#';
j++;
i++;
} else
if(s[i + 1] == 's')
{
ac[j] = ' ';
j++;
i++;
} else
if(s[i + 1] == 'a')
{
ac[j] = '&';
j++;
i++;
} else
if(s[i + 1] == 'l')
{
ac[j] = '<';
j++;
i++;
} else
if(s[i + 1] == 'q')
{
ac[j] = '"';
j++;
i++;
} else
if(s[i + 1] == 'g')
{
ac[j] = '>';
                    j++;
                    i++;
                } else
                if(s[i + 1] == 'u')
                {
                    ac[j] = '\177';
                    j++;
                    i++;
                } else
                {
                    MessageBox(0, "Input error!", "Error", MB_OK

关键词:用Java Applet保护页面的缺陷




Copyright © 2012-2018 争怎路由网(http://www.zhengzen.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版