이미 문제를 풀어 다음과 같이 나와 있지만 원래
ID : guest
PW : 123qwe
였다.
index.phps를 눌러 보자.
첫 php문에서는, guest와 123qwe를 $val_id 변수와 $val_pw 변수에 넣었다.
그리고 base64로 20번 encode한 후 다시 변수에 저장하였다.
그 후 변수에 저장된 문자들을 다음과 같이 치환하였다.
그 값을 쿠키에 저장하고 첫 php문이 끝나게 된다.
2번째 php문에서는 첫번째 php문에서 수행한 코드를 반대로 수행하게 된다.
쿠키의 값을 변수에 담아 첫번째 php에서 치환한 것과 반대로 치환한 후 base64로 20번 디코딩하였다.
그 값이 admin이면 문제가 해결된다.
이 문제를 풀기 위해 쿠키에 저장되어 있는 값을 guest가 아닌 admin으로 변조해 주어야 한다.
그러기 위해서는 첫 번째 php문에서 $val_id, $val_pw에 들어간 문자열이 admin이라고 생각한 후 그곳에서 실행된 코드를 수행한 결과값을 쿠키에 저장해야 한다.
먼저 admin을 base64로 20번 인코딩 했다.
그리고 나온 값을 문자열 치환해 주기 위해 c언어로 스크립트를 작성하였다.
다음 코드로 문자열 치환한 결과값을 쿠키에 넣어주었다.
그 결과 다음과 같이 문제가 풀렸다.
'워게임 > webhacking.kr' 카테고리의 다른 글
webhacking.kr 17번 (0) | 2016.09.01 |
---|---|
webhacking.kr 26번 (0) | 2016.09.01 |
webhacking.kr 14번 (0) | 2016.09.01 |
webhacking.kr 18번 (1) | 2016.09.01 |
webhacking.kr 16번 (0) | 2016.09.01 |