상세 컨텐츠

본문 제목

Webhacking.kr Challenge(old) 24

Webhacking.kr

by 134130 2019. 11. 6. 10:47

본문

문제 화면

client ip에 127.0.0.1이 들어가 있지만 원래는 내 공인 ip가 들어있다. 

<view-source>

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' 카테고리의 다른 글

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

관련글 더보기