본문 바로가기
IT/보안

[웹해킹]Webhacking.kr old 1번 문제풀이

Webhacking.kr 1번 문제 화면이다. Level : 1과 view_source라는 링크가 확인된다.

old 1번 문제

링크 클릭시 해당 소스가 출력되며, 해당 소스를 분석해본다.

View-source 클릭시 소스화면

<?php
  include "../../config.php";
  if($_GET['view-source'] == 1){ view_source(); } 
  if(!$_COOKIE['user_lv']){
    SetCookie("user_lv","1",time()+86400*30,"/challenge/web-01/"); #user_lv쿠키값을 1로 설정
    echo("<meta http-equiv=refresh content=0>");
  }
?>
<html>
<head>
<title>Challenge 1</title>
</head>
<body bgcolor=black>
<center>
<br><br><br><br><br>
<font color=white>
---------------------<br>
<?php
  if(!is_numeric($_COOKIE['user_lv'])) $_COOKIE['user_lv']=1;
  if($_COOKIE['user_lv']>=4) $_COOKIE['user_lv']=1; #user_lv 쿠키값이 4이상일 경우 1로 설정
  if($_COOKIE['user_lv']>3) solve(1); #user_lv 쿠키값이 3이상일때 solve(1)을 실행
  echo "<br>level : {$_COOKIE['user_lv']}";
?>
<br>
<a href=./?view-source=1>view-source</a>
</body>
</html>

 

필요한 부분은 주석을 달아놓은 부분이며,

user_lv 쿠키값을 최초 1로 설정하고,

user_lv쿠키값이 4 이상일 경우 1로 다시 설정,

쿠키값이 3초과일경우 solve(1)을 실행하게 되는 코드이다.

즉 문제풀이는 쿠키값을 3을 초과하며 4 미만으로 설정해야 solve(1)가 실행되며 문제가 풀린다.

이에 크롬 확장프로그램을 통하여 쿠키를 값을 설정해보겠다.

크롬 확장프로그램인 EditThisCookie 링크를 클릭하여 설치 한 뒤, 아래와 같은 화면에서 쿠키값을 설정할 수 있다.

쿠키가 무엇인가가 궁금하면 해당링크를 클릭하여 확인한다. -> 쿠키란 무엇인가?

EditThisCookie 최초 화면

먼저 화면 우측상단 쿠키 모양을 클릭하면 해당 화면이 보이게 되며,

user_lv의 값이 최초 설정인 1로 되어있는게 확인이 된다.

이때 3<4 를 성립시키기 위해 3 초과, 4 미만의 값은 소수점인 3.1부터 3.9가 된다.

EditThisCookie를 이용한 쿠키값 수정

값을 3.5로 수정후 하단 초록색 확인 버튼을 클릭하여 쿠키값 수정을 마치고,

웹페이지를 새로고침 해주면 문제풀이가 끝이난다.

level 3.5로 변경된 모습
문제풀이가 완료되어 체크된 모습

이상으로 Webhacking.kr old_01번 문제풀이를 마친다.

'IT > 보안' 카테고리의 다른 글

[리버싱]NOX_Android IDA 원격 디버깅  (0) 2022.04.30
SYN Flooding 공격  (0) 2022.02.16
[웹] 쿠키란 무엇인가?  (0) 2021.07.21
[보안] 암호학 용어 정리-1  (0) 2020.10.10
서비스 거부공격(DDOS)  (0) 2020.02.27