[old-23] cookie 이용, str_replace 우회
- client ip 에는 나의 ip주소가 있고 agent에는 나의 인터넷 브라우저 정보가 적혀있다.
- view-source를 통해 소스 코드를 보자
- 주목해서 봐야할 부분은 빨간 네모박스 부분 이다.
- extract($_COOKIE);는 COOKIE에 있는 값을 변수로 만드는 것이다.
- 예를들어 cookie에 REMOTE_ADDR : 123 이 들어 있으면, $REMOTE_ADDR의 변수에 123이 저장된다.
- $REMOTE_ADDR = 123;
- str_replace의 경우 이미 치환한 경우 다시 바꾸지 않는다.
- 예를들어 str_replace("12","",$ip);에서 $ip = 1122 의 경우 $ip는 결과적으로 12가 된다.
- 마지막 네모를 보면 $ip 가 "127.0.0.1"의 경우 문제가 풀린다.
- EditThisCookie를 이용하여 쿠키 값을 변경해 보자.
- 이름에 REMOTE_ADDR을 넣고 값에 필터링을 피하여 127.0.0.1이 되는 값을 넣으면 된다.
원리
10.270...00...00...1
str_replace("..","."); 에서 10.270..00..00..1 이 된다.
str_replace("12",""); 에서 10.270..00..00..1 이 된다.
str_replace("7.",""); 에서 10.270..00..00..1 이 된다.
str_replace("0.",""); 에서 127.0.0.1이 된다. 1(0.)27(0.).0(0.).0(0.).1
- 쿠키를 변경 후 새로고침을 하면 clinet ip가 127.0.0.1로 변경되고 문제가 풀린다.
'CTF_ > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] old-33(200) 풀이 (0) | 2020.01.26 |
---|---|
[webhacking.kr] old-26(100) 풀이 (0) | 2020.01.25 |
[webhacking.kr] old-25(150) 풀이 (0) | 2020.01.24 |
[webhacking.kr] old-23(200) 풀이 (0) | 2020.01.16 |
[webhacking.kr] old-01(200) 풀이 (4) | 2020.01.11 |
댓글