我按照 meta.stackoverflow 中的建议编辑了问题,以提高问题的质量以便更好地理解:))
我正在使用 phpbb 3,刚刚下载了一个名为 Proxy Revealer 的 MOD,它主要用于检测和禁止 IP 地址,以下附加代码是 MOD 的一部分,正如您所见,ActionScript 使用 sendToURL 方法将 flash 变量传递给 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();
}