client ip에 127.0.0.1이 들어가 있지만 원래는 내 공인 ip가 들어있다.
extract 함수는 dict형을 변수형으로 변경해주는 함수이다.
예를 들어 $_SERVER["REMOTE_ADDR"] = "127.0.0.1" 이라면,
$REMOTE_ADDR = "127.0.0.1" 이라는 변수를 만들어 준다.
$_SERVER 안는 REMOTE_ADDR 이라는 KEY가 있으므로, 내 공인 ip를 $REMOTE_ADDR에 저장해주고,
$_COOKIE 에서도 마찬가지로 KEY를 변수형으로 바꿔준다.
이때 $_COOKIE에도 REMOTE_ADDR이라는 KEY가 있다면, 덮어쓰게 된다.
때문에 EDITTHISCOOKIE를 이용해 COOKIE를 바꿔준다.
이후에 str_replace()를 이용해 처리를 해주게 되는데, 이런 replace함수들의 단점은 한번 처리한 문자열을 다시 검사하지 않는다는 것이다.
예를들어 위 소스에서 "12"를 ""으로 만들어 버리지만 "1122"라는 문자열이 있다면 "1(12)2"만 처리하여 "12"가 되어 의도대로 문자열을 처리하지 못한다.
우회할 수 있도록 문자열을 만들어 COOKIE에 넣어주면 해결완료.
Webhacking.kr Challenge(old) 4 (0) | 2019.11.08 |
---|---|
Webhacking.kr Challenge(old) 19 (0) | 2019.11.06 |
Webhacking.kr Challenge(old) 5 (0) | 2019.11.04 |
Webhacking.kr Challenge(old) 14 (0) | 2019.10.21 |
Webhacking.kr Challenge(old) 10 (0) | 2019.10.21 |