티스토리 뷰

Web/wargame

webhacking(old) 1번문제 공략

보안청 2020. 11. 13. 11:21
반응형

 

webhacking.kr 개요 

https://webhacking.kr/




PHP를 기반으로 한 기초적인 웹 해킹의 다양한 실습이 가능한 사이트입니다. 해킹 기법을 꿈꾸시고 계신 비전공자부터 해킹을 연마하신 숙련자 분들까지 꾸준히 문제를 푸신다면 기본적인 웹 해킹 기술부터 네트워크 기술 까지 얻으실 수 있으실 껍니다. 그럼 바로 1번부터 분석해 보겠습니다.

 

1번 문제를 클릭하자 View-soucre 라는 클릭 문구가 뜹니다.  1번 문제답게 대놓고 소스 코드 분석하라는 힌트를 줍니다.

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

<?php //key point 1 쿠키를 생성 하는 부분

  include "../../config.php";

  if($_GET['view-source'== 1){ view_source(); }

  if(!$_COOKIE['user_lv']){
//(user_lv라는 쿠키 값이 없으면

    SetCookie("user_lv","1",time()+86400*30,"/challenge/web-01/");
// /challenge/web-01/ 위치에 time()+86400*30 , 시간동안 user_lv를 생성해라

    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 //key point 2 쿠키를 이용해 solve 함수로 넘어가는 부분

  if(!is_numeric($_COOKIE['user_lv'])) $_COOKIE['user_lv']=1;

  if($_COOKIE['user_lv']>=6$_COOKIE['user_lv']=1;

  if($_COOKIE['user_lv']>5) solve(1);

  echo "<br>level : {$_COOKIE['user_lv']}";

?>

<br>

<a href=./?view-source=1>view-source</a>

</body>

</html>

Colored by Color Scripter

cs
1번 문제 소스 코드입니다. 

keypoint는 총 두곳 입니다. 1은 소스 코드에서 참고하시고 2는 설명하겠습니다. 

전체 코드를 한번 보시면 solve(1); 라는 함수를 발견할 수 있습니다. 해당 함수의 뜻처럼 문제 푸는 키 역할을 할 것 같으니 해당 함수를 기준으로 보겠습니다.



if($_COOKIE['user_lv']>5) solve(1);  // 즉 쿠키을 담는 파라미터 user_lv가 5 이상이면 solve함수로 넘어간다는 뜻입니다. 그럼 쿠키 값을 5초과로 해야 되는데 함정 구문이 하나 더 있습니다.

if($_COOKIE ['user_lv']>=6) // 6 이상이 돼버리면 1로 초기화를 시켜 버립니다. 
일반적으로 사람이 자연수를 쓰기 때문에 5초과로 얘기하면 6 이상을 적는 것을 노린 것 같습니다. 
이에 5와 6 사이의 소수점을 쓰면 해결 가능합니다.

 

https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg?utm_source=chrome-ntp-icon

쿠키를 변경 하기 가장 좋은 크롬 확장 프로그램인 editthiscookie 입니다. 해당 프로그램을 사용하기 위해선 크롬 브라우저로 실행해주셔야 됩니다. 

 

설치가 완료되면 해당 크롬 오른쪽 윗창에 아이콘이 생성됩니다. 

 

그럼 해당 아이콘을 누른뒤 user_lv 창을 찾아 값을 5와 6사이의 소숫점으로 바꿔줍니다. 
바꾸기가 완료 되면 아래의 초록 버튼을 눌러 준 후 새로 고침을 해줍니다.  

 

그러면 해당 알람이 뜨면서 문제 풀이가 완료 됩니다. 
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함