WEBHACKING.KR 1번 문제 풀이
[ 쿠키는 맛있어 ]
오늘은 webhacking.kr 1번 문제를 풀어보자.
1번 문제에 들어가면 다음과 같은 시커먼 화면이 반겨줄 것이다.
일단 우리는 무의식적으로 페이지 소스 보기를 누를것이다.
그러나....
하단의 index.phps 라는 문구가 링크였다는 사실만을 알 수 있다.
그럼 일단 저 index.phps 에 들어가보자.
들어가면 다음과 같은 PHP 코드가 반겨줄 것이다.
이 코드중 PHP 부분만 채취해서 알아보자.
if(!$_COOKIE[user_lv])
{
SetCookie("user_lv","1");
echo("<meta http-equiv="refresh" content="0">");
$password="????";
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();
echo("<br />level : $_COOKIE[user_lv]");
이 코드로 보았을때 로직은 다음과 같았다.
user_lv 쿠키가 없으면 user_lv 쿠키를 만들어주고 1을 대입해준다.
user_lv 쿠키값이 숫자가 아닌 다른 값을 포함하고 있으면 다시 값을 1로 만들어준다.
user_lv 쿠키값이 6 이상이면 쿠키값을 1로 만들어준다.
user_lv 쿠키값이 5 초과이면 인증에 성공한다.
이 떄 드는 의문점이 하나 있다.
위 내용을 수식으로 만들자면
5 < user_lv ≥ 6
이 되는데,
이는 자연수일 떄 성립하지 못한다.
따라서, 첫값이 1인 user_lv의 쿠키값을 5 초과 6 이하의 소수로 바꿔준다면,
풀이에 성공한다.
WARGAME.KR 1번 문제 클리어!
'보안공부 > Webhacking.kr 풀이' 카테고리의 다른 글
webhacking.kr 14번 문제 풀이 - indexOf (0) | 2018.07.09 |
---|---|
webhacking.kr 6번 문제 풀이 - 감싸고바꾸고 (0) | 2018.07.07 |
webhacking.kr 15번 문제 풀이 - 이걸못풂? (0) | 2018.07.06 |
webhacking.kr 4번 문제 풀이 (0) | 2018.07.05 |
webhacking.kr 0번째 관문 - 회원가입 (0) | 2018.07.02 |