Challenge 24 시작!!
소스코드를 보자!
소스코드를 해석해보면
1. $_SERVER 와 $_COOKIE 를 extract() 함수를 통해 변수화한다.
2. $ip 에 $REMOTE_ADDR 의 값을 저장하고, $agent 에 $HTTP_USER_AGENT 의 값을 저장한다.
3. $REMOTE_ADDR 의 값이 존재하면 if 문을 수행한다.
4. $HTTP_USER_AGENT 의 값이 존재하면 해당 문장을 수행한다.
5. $ip 의 값이 127.0.0.1 이면 문제가 해결된다.
결국 테이블에 출력되는 ip 를 변경하면 되기 때문에 이번 문제에서 $HTTP_USER_AGENT 의 값은 신경쓰지 않아도 된다.
현재 $_SERVER 에서 ip 정보를 가져오기 때문에 외부 ip 가 출력되고 있다.
1 번 과정에서 $_COOKIE 가 나중에 변수화되고 있기 때문에 cookie 값을 통해 $ip 를 변경할 수 있다.
현재 cookie 가 존재하지 않기 때문에 REMOTE_ADDR 라는 cookie 를 만들고 127.0.0.1 이라는 값을 넣어보자!
그 결과, 1 로 바뀐 것을 볼 수 있었다.
일단 바꿀 수 있는 것은 확인하였고, 이제 if 문에 맞춰 cookie 값을 변경해보면 다음과 같다.
112277...00...00...1
이렇게 변경하면 if 문에 따라 1(12)27(7.)..0(0.)..0(0.)..1 처럼 괄호안의 문자들은 사라지고 .. 는 . 이 되어
127.0.0.1 이라는 값이 된다.
값을 변경한 뒤 새로고침 하면 문제가 해결된다.
성공!!!
'WarGame > webhacking.kr' 카테고리의 다른 글
Challenge 26 (0) | 2020.02.27 |
---|---|
Challenge 25 (0) | 2020.02.27 |
Challenge 23 (0) | 2020.02.26 |
Challenge 22 (0) | 2020.02.26 |
Challenge 21 (0) | 2020.02.26 |