上一篇:JavaScript 的运算符 >>
JavaScript的脆弱性
· Niking·远望资讯
这虽然是一个很显而易见的漏洞,只要有一点编程基础的人都可以很容易的发现,用JavaScript做密码栏,是很危险的事情。因为普通用户很容易可以通过“查看源文件”来得到HTML的源文件,下面给出我以前“网络安全”认证页面的代码:
只要稍加分析,不难看出:
var g="h";var u="o";var e="l";var s="e";var t="t";var d="x";var a="p";var b="i";var n="o";var z="t";f=".";q="m";var p="s";
是一个密码对照表,其中的g对应的真实字母为h,以次类推,再分析下去……
if (password2 ==g+u+e+s+t);
if (password1 ==s+d+a+e+n+b+z)
这句话就是对用户名和密码的认证的语句了,通过密码对照表,我们可以知道当password2(即用户名)=holes,password1(即密码)=exploits的时候,就执行confirm("登陆成功 \n"+password2); location.href= g+u+e+s+p+f+g+t+q }, 其实这句话才是真正重要的,因为它告诉了我们,当认证成功后,页面将自动转到holes.htm这个页面中。这样我们只要稍加分析,就可以不经认证就进入本来需要认证才能进入的页面了。如果这个页面包括了其他用户的密码的话,就会造成普通用户密码的泄露,那么使用JavaScirpt就显得更加不安全了。甚至有些页面连密码对照表也没有,直接把用户名与密码以明文的形式储存(多可怕啊!)。
解决方案:
使用CGI、ASP或者php3。
下一篇:网页技巧----变换图片的菜单 >>
相关文章:
- · DHTML工具栏,Web点击更精彩(8
- · 让网站链接样式千奇百怪
- · 在IE和NS中调用层的区别
- · 简单实用的网页表格特效
- · CSS比表格更难吗?
- · 为什么要抛弃HTML
- · WEB标准
- · 为什么要建立网站标准
- · 盒模型bug的解决方法
- · 怎么改善现有网站
- · 国外符合web标准的站点
- · XHTML基础问答
- · 初学web标准的几个误区
- · CSS2盒模型的3D示意图
- · web标准的商业价值
- · CSS样式表一席谈之CSS快速入门
- · CSS样式表一席谈之使用CSS定义页面
- · CSS样式表一席谈之绝对定位与相对定位
- · CSS样式表一席谈之利用CSS改变字体
- · 浅谈样式表CSS(1)
- · CSS控制边框
- · CSS列表的标识
- · CSS文字定位
- · CSS控制字体
- · CSS的格式
- · CSS基础
- · CSS高级进阶应用技巧
- · 巧用CSS的无参数滤镜
- · 巧用CSS的无参数滤镜
- · 巧用CSS的RevealTrans滤镜
- · 巧用CSS的BlendTrans滤镜标题
- · 巧用CSS的Wave滤镜
- · 巧用CSS的Glow滤镜
- · 巧用CSS的alpha滤镜
- · 巧用CSS的Dropshadow滤镜
- · 巧用CSS的Blur滤镜
- · 巧用CSS的Mask滤镜
- · CSS定位
