소스코드를 보니 extract() 이라는 함수가 사용되고 있더라.
처음 보는 함수라서 검색해보니, 인자로 전달하는 배열 속의 키값을 변수화시켜준다고 한다.
$arr[a] = 0
$arr[b] = 1
extract(arr)
# 이렇게 하면 a=0, b=1 변수화
처음 보는 함수인지라, 이거로 푸는것같아서 검색해봤다.
extract() 취약점
>> https://bbolmin.tistory.com/53
그리고 $SERVER와 $COOKIE
- $_SERVER 는 헤더, 경로 및 스크립트 위치와 같은 정보를 포함하는 배열 (출처)
- $_COOKIE는 HTTP COOKIE를 통해 현재 스크립트에 전달된 변수의 연관 배열 (출처)
둘다 배열이다.
서버정보와 쿠키값이 변수가 되었다고 한다.
문제를 해결하기 위해서는 ip주소가 127.0.0.1이어야 하고, ip주소는 $REMOTE_ADDR.
$REMOTE_ADDR은 $_SERVER 배열의 인덱스로 존재한다. (현재 페이지를 보고 있는 사용자의 IP 주소)
1.
개발자도구 열어서 쿠키에 REMOTE_ADDR 생성 후 아무거나 입력
> 문제 페이지 내 client ip 변경되는 것 확인.
2.
필터링 피해서 요리조리 입력해보기.
12 필터링, 7. 필터링, 0. 필터링, ..는 .로 필터링
3.
본인 입력
REMOTE_ADDR: 112270....0120....0120....1
이유 모름
될때까지 아무거나 넣다가 패턴을 획득했다.
대체 왜인지?
-
2022-11-04
완전히 이해 해버린 것이다.
112277....00....00....1
'Play > wargame' 카테고리의 다른 글
[LOS] Load of SQLInjection 16번 (ZOMBIE_ASSASSIN) (0) | 2022.11.11 |
---|---|
(webhacking.kr) g00gle, g00gle2 풀이 (0) | 2022.11.04 |
(webhacking.kr) 26번 풀이 (0) | 2022.11.03 |
[dreamhack] lev1. mongo 풀이 (0) | 2022.11.02 |
(webhacking.kr) 12번 (3) | 2022.11.01 |