0

meta.stackoverflow で提案されているように質問を編集して、理解を深めるために質問の質を向上させました:))

私は phpbb 3 を使用しており、主に IP アドレスの検出と禁止に使用される Proxy Revealer と呼ばれる MOD をダウンロードしました。次の添付コードは MOD の一部です。ActionScript が sendToURL メソッドを使用してフラッシュ変数を PHP 側に渡すことがわかります。これは_GETメソッドを使用して値を取得しますが、問題は値が常にNULLになることです.burpsuiteを使用していくつかの調査を行い、クライアントのヘッダーリクエストで値を見ましたが、URLバーで実行されなかったか、開示さえされなかったので、それらが来た理由です. NULLとして

  • URL = example.com/index.php
  • リクエストヘッダー = index.php?value=3424124&another=32412342

PHP変数でこれらの値を取得するにはどうすればよいですか。時間を割いてメッセージを読んでいただき、ありがとうございます:))

import flash.display.LoaderInfo;
import flash.errors.*;
import flash.events.*;
import flash.net.sendToURL;
import flash.net.URLRequest;
import flash.net.XMLSocket;
import flash.system.Capabilities;
import flash.system.Security;
import flash.xml.*;

// Retrieve passed FlashVars
var dhost:String = root.loaderInfo.parameters.dhost;
var dport:Number = root.loaderInfo.parameters.dport;
var flash_url:String = root.loaderInfo.parameters.flash_url;
var ip:String = root.loaderInfo.parameters.ip;
var extra:String = root.loaderInfo.parameters.extra;
var user_agent:String = root.loaderInfo.parameters.user_agent;

// Retrieve policy file from our XMLSocket server to allow socket connections
Security.loadPolicyFile("xmlsocket://" + dhost + ":" + dport);

// Get Flash Player version
var version:String = Capabilities.version;

// Our probe.php URL and the query string concatenated
var myURL:String = flash_url + "?mode=flash&ip=" + ip + "&extra=" + extra;
myURL += "&version=" + escape(version) + "&user_agent=" + escape(user_agent);

// Socket connection code
var sock:XMLSocket = new XMLSocket();

sock.addEventListener(Event.CONNECT, connectHandler);
sock.addEventListener(DataEvent.DATA, dataHandler);

sock.connect(dhost,dport);

function connectHandler(event:Event):void {
    var xmlRequest:String = "<data><request>getmyip</request></data>";
    sock.send(new XML(xmlRequest));
}

function dataHandler(event:DataEvent):void {
    var myXML:XML = new XML(event.data);
    var myIP:String = myXML.ip[0];
    myURL += "&xml_ip=" + myIP;
    var request:URLRequest = new URLRequest(myURL);
    sendToURL(request);
    sock.close();
}
4

2 に答える 2

0

http://php.net/manual/en/function.getallheaders.phpを見たことがありますか? ただし、一部の Apache セットアップでのみ動作するようです。

于 2013-03-30T03:47:35.963 に答える