코드를 보면 접속자의 ip와 접속 정보를 화면에 뿌려주고 있다.
만약 접속자의 ip가 127.0.0.1 이라면 문제는 해결된다.
php의 extract함수의 인자로 $_SERVERD와 $_COOKIE를 줘서 실행하고 있다. extract의 함수는 배열의 키를 변수로 만들고 값을 해당 변수의 값으로 만든다.
ex) arr['hello'] = world -> extract(arr), $hello = world가 된다!
중요한점은 $_SERVER에는 사용자 접속 정보가 담겨 있기 떄문에 extract($_SERVER)이 부분에서 $REMOTE_ADDR 변수가 생기게 된다.
그러나 $_COOKIE 또한 extract에 넘겨주고 있기 때문에 cookie 값에 REMOTE_ADDR이라는 키값을 만들면 변조가 가능하다. 확인해보자!
개발자 도구로 쿠키에 REMOTE_ADDR 키를 생성 후 임의의 숫자를 넣으니 client ip가 변조 됐다. 이제 필터를 우회하여 127.0.0.1을 넣어주자!
112277...00...00...1
'Web Hacking > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] old-25 write up (2) | 2024.02.27 |
---|---|
[Webhacking.kr] old-38 write up (2) | 2024.02.26 |
[Webhacking.kr] old-54 write up (2) | 2024.02.26 |
[Webhacking.kr] old-18 write up (0) | 2024.02.26 |
[Webhacking.kr] old-39 write up (0) | 2024.02.26 |