Wargame/Webhacking.kr
[Webhacking.kr] 24번
h4won
2021. 5. 17. 20:48
쿠키 인젝션 문제
extract() 함수는 배열 속의 키값을 변수화 시켜주는 함수이다.
extract(array) : array의 key값의 이름으로 변수를 만든다. 변수의 값은 key값에 대응하는 값.
ex) extract($_COOKIE) => $REMOTE_ADDR = $_COOKIE['REMOTE_ADDR']
$_SERVER[REMOTE_ADDR] : 현재 페이지를 보고있는 시스템의 ip 주소
$_SERVER[HTTP_USER_AGENT] : 클라이언트의 접속 환경 정보(브라우저 정보 등)
그러므로 extract으로 변수들을 생성하고 $ip=$REMOTE_ADDR; 의 ip를 str_replace 함수를 거쳐서 ip값을 필터링시킨다.
우선 ip를
문자열 형태로 바꾸고,
.. 을 "." 으로
12를 ""으로
7.을 ""으로
0.을 ""으로 바꾼다.
그러고 난 후에 ip 가 "127.0.0.1"일 경우 문제가 풀린다.
-> REMOTE_ADDR 라는 이름의 쿠키값을 추가해서 값을 적절하게 주어야 할 것이다.
다음과 같이 입력하면 필터링을 거치고 난 뒤 "127.0.0.1" 이 될 것이다.
112277...00...00...1