deepble
[Webhacking.kr] challenge old-1 본문
문제
문제 사이트에 들어가면 아래와 같이 화면이 보이며, 소스코드를 확인하기 위해 [view source]로 들어갑니다.
분석
config.php라는 외부 파일을 포함하고 있습니다. 이 파일에는 데이터베이스나 함수 등의 설정들을 담는 것으로 보입니다.
view-source 파라미터가 1이라면 view-source()함수를 호출하고 있습니다.
'user_lv' 라는 쿠키가 존재하는지 확인하고 없다면, 쿠키를 생성하여 'user-lv'를 1로 설정하고 30일 후 만료되도록 합니다. 또한 경로는 '/challenge/web-01'로 설정합니다. 그 후 페이지를 즉시 새로고침하는 meta 태그를 사용하여 페이지에 접근 시 기본 레벨을 설정하고 페이지를 새로고침하여 쿠키 값을 반영하고 있습니다.
첫 번째 조건에서 'user_lv' 쿠키값이 숫자인지 확인하고, 아니라면 값을 1로 재설정합니다.
두 번째 조건은 'user_lv' 쿠키값이 4 이상인지 확인한 후, 맞다면 1로 재설정합니다.
세 번째 조건은 'user_lv' 쿠키값이 3 초과인지 확인한 후, 맞다면 solve(1)함수를 호출합니다.
(이름을 볼 때 solve(1)함수를 호출하는 것이 정답일 가능성이 높아보임)
마지막 코드는 'user_lv' 쿠키값을 레벨로 화면에 표시하여 보여줍니다.
(첫 화면에서 level : 1이 쿠키를 의미하는 것을 알 수 있음)
분석정리
- 쿠키 변경과 관련된 문제입니다.
- 쿠키 값이 4이상이면 1로 재설정하고, 3이상일 때 solve(1)함수를 출력하므로 3와 4사이의 값으로 변경해야 합니다.
준비
1. EditThisCookie
먼저 문제를 풀기 위해 아래의 크롬 쿠키 관리자를 설치해야합니다.
https://chromewebstore.google.com/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg
EditThisCookie
EditThisCookie는 쿠키 관리자입니다. 이것을 이용하여 쿠키를 추가하고, 삭제하고, 편집하고, 찾고, 보호하거나 막을 수 있습니다!
chromewebstore.google.com
풀이
EditThisCookie 열기
크롬 브라우저 위쪽에 확장 프로그램으로 EditThisCookie를 열어줍니다.
그러면 코드를 분석한 것처럼 쿠키가 user_lv이고 값이 1로 설정되어 있는 것을 확인할 수 있습니다.
Cookie값 변경
코드 분석에서 확인한 것처럼 3에서 4 사이의 값으로 변경한 후 체크표시를 눌러줍니다.
정답 확인
webhacking.kr에서 문제를 확인해보면 풀이가 완료된 것을 확인할 수 있습니다.
만약 아래와 같이 뜨지 않는다면 새로고침 해보세요!
'CTF > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] challenge g00gle1 (0) | 2024.04.05 |
---|---|
[Webhacking.kr] challenge old-6 (0) | 2024.04.04 |
[Webhacking.kr] challenge old-3 (0) | 2024.04.02 |
[Webhacking.kr] challenge old-2 (0) | 2024.03.27 |
[Webhacking.kr] challenge old-43 revenge (0) | 2024.03.27 |