워게임 사이트인 Webhacking.kr 을 오늘부터 1~2문제씩 올려보도록 해야겠다
회원가입 방법은 전에 올려둔 게시물을 확인하자
2015/04/09 - [보안/워게임] - webhacking.kr 워게임 사이트 회원가입 방법
일단 Webhacking.kr 에서 Challenges를 클릭하자
그럼 여러 문제들이 보이는데 1번 문제부터 풀어보자
1 클릭
그럼 아래와 같은 화면이 나온다
level : 1 무슨 뜻일까..!
index.phps 를 클릭해봤더니
아래와 같은 소스코드가 보인다
아직 웹 언어를 공부하지 않아서 정확하게는 해석하지 못하지만..
대충 뜻을 예측해봤다
<?
if(!$_COOKIE[user_lv])
{
SetCookie("user_lv", "1");
echo("<meta http-equiv=refresh content=0>");
}
?>
Cookie에 user_lv라는 쿠키가 없으면 user_lv를 1로 설정해주는 부분인거 같다
if(eregi("[^0-9,.]",$_COOKIE[user_lv])) $_COOKIE[user_lv]=1;
if($_COOKIE[user_lv]>=6) $_COOKIE[user_lv]=1;
if($_COOKIE[user_lv]>5) @solve();
이 부분이 중요한 부분인거 같다
@solve(); 를 나오게 하면 될거같다
user_lv의 쿠키 값이 숫자로 0~9로 시작하지 않으면 다시 값을 1로 바꿔게 되어있고
user_lv 값이 6이상이어도 값을 다시 1로..
user_lv 값이 5이상이면 답이 나오게 되어있는거같다
echo("<br>level : $_COOKIE[user_lv]");
이 부분은 user_lv 값을 보여주도록 echo 하는 부분인거 같다
cooxie 라는 IE 도구 (Cookie 편집 도구) 를 사용하여 cookie 값을 바꿔보도록 하겠다
아래와 같이 user_lv 값을 5로 바꿔보았다
level : 5 로 표시가 변화였다.
아래와 같이 user_lv를 7로 변경해보았다
user_lv의 값이 6이상이기때문에 level : 1로 표시가 되는걸 볼 수 있다
user_lv의 값이 5이상이고 6보다 작은 수를 적어 넣어봐야겠다
Congratulation! 이라는 창이 뜨고
1문제 해결되었다고 나온다
아래와 같이 다시 Challenges에 가보면
1번 문제가 해결된걸 확인할 수 있다
간단한 소스해석에 소수점을 사용해야한다는 생각을 할 수 있다면
쉽게 풀 수 있는 문제였던거 같다