deepble

[Webhacking.kr] challenge old-1 본문

CTF/Webhacking.kr

[Webhacking.kr] challenge old-1

deepble 2024. 3. 27. 18:34

문제

문제 사이트에 들어가면 아래와 같이 화면이 보이며, 소스코드를 확인하기 위해 [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