본문 바로가기

Wargame & CTF

[Webhacking.kr] 1,3,14,15,17번

1번

1번 문제는 쿠키를 조작해서 답을 구하는 문제입니다.

해당 문제를 처음 열면 아래와 같은 화면을 볼 수 있습니다.

 

이제 해당 문제 에 있는 view source를 확인해보면 해당문제의 답을 알아낼 수 있습니다.

<?php
  if(!is_numeric($_COOKIE['user_lv'])) $_COOKIE['user_lv']=1;
  if($_COOKIE['user_lv']>=4) $_COOKIE['user_lv']=1;
  if($_COOKIE['user_lv']>3) solve(1);
  echo "<br>level : {$_COOKIE['user_lv']}";
?>

해당 문제에서 key가 되는 부분의 소스코드인데, 여기 조건을 보면 3보다 큰수 이면서 4보다는 작아야 답을 구할 수 있습니다. 따라서 소수점 이하의 자릿수를 생각하지 않을 수 없습니다.

 

 

아래와 같이 문제를 해결할 수 있습니다.

 


3번

3번 문제는 개인적으로 퍼즐의 규칙을 이해하는게 조금 어려웠습니다. 이외에는 SQL Injection을 이용해서 문제를 해결할 수 있습니다.

 

우선 숫자의 규칙을 파악하여 아래와 같은 모양을 만들어줍니다.

그렇게 해주고 나면 입력창을 확인할 수 있습니다.

 

 

입력창 부분에서 일반적인 숫자열을 집어넣어서 어떤 결과가 되는지 확인해봅니다.

 

위와 같은 결과를 확인할 수 있지만 문제를 풀었다고 나오지는 않습니다. 따라서 답을 해결하기 위해 입력창에 값을 넣고 웹 프록시 도구를 이용하여 answer에 다른 값이 들어갈 수 있도록 조작합니다.

 

answer 부분에 항상참이 되도록 변조하여 답을 확인하면 아래와 같은 반응을 확인할 수 있습니다.

 

 

14번

 

이번엔 14번 문제입니다. 처음에는 입력폼이 보이고 해당 입력폼을 들어가기 위해서 SQL injection을 시도하였으나 실패하였습니다.

 

이후에 생각을 바꿔서 자바스크립트를 조작하여 check 조건이 항상 참이 되도록 하였습니다.

 

check 버튼을 눌렀을 때 ck()가 작동하는 것을 확인할 수 있었고, 이 부분을 변경하기로 하였습니다.

 

변경하였지만 답을 구할 수는 없었습니다.

 

해당 방법은 유지하되 웹 프록시 도구를 이용해서 응답을 변조하면 답을 구할 수 있다고 판단하여 웹 프록시 도구를 이용하였습니다.

 

이후 임의의 값을 대입하여 반응을 확인합니다.

 

wrong이라는 문구 대신 답으로 추정되는 숫자를 확인할 수 있습니다.

 

이를 대입하여 답을 확인하면 아래와 같은 응답을 확인할 수 있습니다.

 

15번

15번 문제의 경우 소스코드를 읽었을 때 정확히 답의 근거를 파악할 수 있으면 쉽게 해결할 수 있습니다. 다만 접속조차 안되기 때문에 이를 해결해줘야 합니다.

 

일반적인 접속 시도시 접근이 불가한 것을 확인할 수 있습니다.

 

왜 접속이 불가능한지 확인하기 위해서 웹 프록시 도구를 이용하여 응답을 살펴보기로 하였습니다.

 

코드를 확인해보면 접근 불가메시지 이후에 /로 연결되도록 하고 있습니다. 따라서 저 부분을 삭제하면 답을 구할 수 있겠다고 생각하였습니다.

 

이제 아래와 같이 변조해줍니다.

 

변조 이후 확인해보면 아래와 같이 누르는 링크를 확인할 수 있습니다.

 

해당 링크를 누르면 문제를 해결할 수 있습니다.

 

17번 

 

17번 문제도 응답 조작을 통해서 해결할 수 있는 문제입니다.

 

위와같이 sub()를 바꿔서 문제를 해결하도록 되어있습니다. 따라서 웹 프록시 도구를 이용하여 if 조건식의 == 를 !=로 변조합니다.

 

이후 페이지에서 반응을 확인합니다. 이후 임의의 값을 넣고 check버튼을 누릅니다.

 

문제가 해결된 것을 확인할 수 있습니다.

'Wargame & CTF' 카테고리의 다른 글

[Portswigger] Path traversal  (0) 2023.12.22
[Dreamhack] Addition calculator  (1) 2023.12.21
[Dreamhack] baby-union  (0) 2023.12.20
[Dreamhack] baseb64  (0) 2023.12.20
Uncrackable 1  (0) 2023.09.25