까만 화면에 저것만 떠서 막 눌러보다가 index.phps를 누르니까 페이지가 바뀌었다. level1페이지 소스코드를 보니까

<html>
<head>
<title>Challenge 1</title>
</head>
<body bgcolor=black>
<center>
<br><br><br><br><br>
<font color=white>
---------------------<br>
<br>level : 1<br>
<pre>
<a onclick=location.href='index.phps'>----- index.phps -----</a>
</body>
</html>

Onclick으로 되어 있었다. 클릭시 발생하는 이벤트라고 한다. 아까처럼 링크로 직접 접속해도 된다!

이런 페이지 소스가 나온다. 느낌상 $password=”????”; 이 부분 이후가 중요한 부분인 것 같다. 대강 코드를 보니까 COOKIE라는 애가 매우 많이 나온다. 마지막 if문에서 COOKIE5보다 크면 solve()가 되는 것을 보니까 COOKIE값을 5보다 크고 6보다 작은 수로 만들어주면 될 것 같았다.

‘Edit this cookie’ 이 프로그램을 이용하면 쿠키값을 변환시킬 수 있다고 한다.

이 프로그램을 이용해서 쿠키값을 5.5로변환시켜주면

성공이다!

소스코드를 조금 분석해보면 다음과 같다.

if(!$_COOKIE[user_lv])  user_Iv에 cookie값이 없다면 if문을 수행!
{
    SetCookie("user_lv","1");  SetCookie함수를 사용해서 user_Iv쿠키를 1로 세팅한다.
    echo("<meta http-equiv=refresh content=0>");
}

$password="????";  flag값이 저장되는 변수라고 한다.

if(eregi("[^0-9,.]",$_COOKIE[user_lv]))  eregi함수(문자열 검색)를 이용해서 user_Iv cookie값이 0~9로 시작된다면 if문이 수행되고 아래에서 1로 세팅 된다.
    $_COOKIE[user_lv]=1;

if($_COOKIE[user_lv]>=6)  6보다 cookie값이 크면 1로 세팅한다.
    $_COOKIE[user_lv]=1;

if($_COOKIE[user_lv]>5)  5보다 cookie값이 크면 문제가 풀린다!
    @solve();

echo("<br>level : $_COOKIE[user_lv]");  user_Iv cookie값 출력

'web > webhacking.kr' 카테고리의 다른 글

[webhacking.kr] level 2  (0) 2019.07.02
[webhacking.kr] join  (0) 2019.06.29

+ Recent posts