前市场上流行的电子邮件客户端软件较多,如:微软的“outlook”、“outlook express”、“The Bat !”、“Foxmail”等,国外认可度比较高的是“The Bat !”,国内较为流行的是“Foxmail”,现在讨论一下“The Bat !”和“Foxmail”的安全问题。
许多著名的网站将“The Bat !”类为最高级别的邮件客户端工具,推荐度极高,人们非常信任这些推荐,下面是摘自 http://www.ritlabs.com/the_bat/index.html 的图片,说明下面该软件的诸多功能中较为突出的一项是:具有访问密码,可以支持多账号,多人共用一台计算机时每个人可以凭借个人访问密码进入其个人账户查看邮件,以此保护个人隐私,从功能设计上考虑确实是十分周到,这样给用户一定的安全感,尤其是那么多网站授予该软件的推荐级别,该软件的威信级别极高,这无疑会让用户更加放心他的安全性。
然而,该软件的账户安全极为脆弱,只要将账号目录下的account.cfg文件更名,即可不需要任何密码进入该帐号,可以看到被保护账号中的信件,这样隐私就被泄漏。假如没有这个功能用户会很谨慎的保护自己的信件,然而使用该功能反而使用户的信件被泄漏后而自己并不知道,威胁很大。
的组织授予该软件的级别。
当然有人会问,我们使用foxmail不就可以吗?让大家失望的是,对于foxmail 只要将account.stg更名,也是不需要任何密码就可以看到被保护的信件
3、熟悉网站上验证用户名密码的问题
on error resume next
LogUser=trim(request.form("LogUser"))
LogPass=trim(request.form("LogPass"))
if LogUser="" or LogPass="" then
response.write "<script>alert('用户名密码为空!');history.back();</script>"
response.end
end if
if request.form("Login")="登 录" then
set SysQuery=server.CreateObject("XXSDatabase.XXSData")
SysQuery.LoginSysManager LogUser,LogPass
dim Result
set Result=SysQuery.AdoExeCute("select * from Sysmanager where UserName='"&LogUser&"'and PassWord='"& LogPass &"'")
if err.number<>0 then
response.write "<script>alert('用户名密码有错!');history.back();</script>"
err.cleare
response.end
else
Session("OK")="SysManager"
Session("ClassLevel")=Result("ClassLevel")
Set Result=nothing
response.redirect "direction.asp"
end if
else
if request.form("Modify")="修改密码" then
Session("OK")="SysManager"
Session("UserName")=LogUser
Session("OldPass")=LogPass
response.redirect "modify.asp"
else
response.write "<script>history.back();</script>"
response.end
end if
end if
Set SysQuery=nothing
%>
其中LogPass 是从主页上输入的密码,如果不输入密码,输入引号中的内容“' or '0'='0”,
将其带入到程序中,即:
Result=SysQuery.AdoExeCute("select * from Sysmanager where UserName='"&LogUser&"'and PassWord='"& ' or '0'='0 &"'"
进一步翻译成逻辑关系是:“用户名 and 密码 or 真 ”,这样便顺利的通过用户名和密码验证。进入该帐号后,可以看到用户真正的密码,以及密码提示、密码答案,可以更改用户资料等,也可以通过源代码查看到用户的真实密码,如果该用户的多个地方使用一个密码的话,可以通过这一点访问其他受保护的资源,甚至可以通过这个使用该帐号的信用卡等。存在这样情况的网站为数不少。