游客:
注册
|
登录
|
帮助
网友俱乐部
»
网页制作
»
Javascript教程
» JavaScript的脆弱性
网友生活网
|
网友学堂
如何获得金币?
诚招斑竹
IP归属地查询 PR查询 收录查询 whois查询
免费超短2级域名,your.jpy.cc
传世私服
|
传奇世界私服
注册亚洲交友中心,找个人来同居吧!
7CODE查杀恶意代码,守护您的电脑
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题: JavaScript的脆弱性
ljjk5
元帅
UID 46706
精华
1
积分 99426
帖子 49691
威望 554
金币 48489
热心 505
阅读权限 100
注册 2007-2-25
状态 离线
#1
使用道具
发表于 2007-4-6 08:16
资料
个人空间
主页
短消息
加为好友
JavaScript的脆弱性
这虽然是一个很显而易见的漏洞,只要有一点编程基础的人都可以很容易的发现,用JavaScript做密码栏,是很危险的事情。因为普通用户很容易可以通过“查看源文件”来得到HTML的源文件,下面给出我以前“网络安全”认证页面的代码:
<script>
function passwd()
{
var password2 = document.form1.user_id.value;
var password1=document.form1.pas-sword.value;
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";
var back="index.html";
if (password2 ==g+u+e+s+t);
if (password1 ==s+d+a+e+n+b+z)
{
confirm("登陆成功 \n"+password2);
location.href= g+u+e+s+p+f+g+t+q }
else{
alert("密码错误\n" + password1 + "没有注册\n 再见!");
location.href=back }
}
</script>
只要稍加分析,不难看出:
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。
网友
ljjk5
签名 - 网友社区
===
[广告]
免费域名(Free Subdomain)
免费空间(Free hosting)
PR查询(Google Pagerank)
投票
交易
悬赏
活动
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
个人空间管理
基本概况
流量统计
客户软件
发帖量记录
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
管理统计
当前时区 GMT+8, 现在时间是 2008-9-8 09:52
信产部ICP备案:
京ICP备05066424号
北京市公安局网监备案:1101050648号
Powered by
Discuz!
5.5.0
TOP
清除 Cookies
-
联系我们
-
网友俱乐部
-
Archiver
-
WAP