1번문제
<1번문제 소스코드 해석>
if(!$_COOKIE[user_lv]){ // user_lv cookie값이 없다면 if문 실행
SetCookie("user_lv", "1"); //setcookie함수를 사용해 user_lv 쿠키를 1로 세팅
echo("<meta http-equiv=refresh content=0>");
}
$password="????"; //플래그 값이 저장되는 변수. 문제풀이에 상관없기 때문에 무시
if(eregi("[^0-9..]",$_COOKIE[user_lv]))
$_COOKIE[user_lv] =1; //eregi함수를 이용하여 user_lv cookie 값이 0~9의 정수중 하나로 시작한다면 if문 실행, cookie값이 1로 세팅
if($_COOKIE[user_lv] >=6)
$_COOKIE[user_lv] =1; //user_lv cookie 값이 6보다 크거나 같으면 if문이 수행되고 cookie 값이 1로 세팅
if($_COOKIE[user_lv] >5) //user_lv cookie 값이 5보다 크면 문제가 풀린다.
@solve();
echo("<br>level : $_COOKIE[user_lv]"); //user_lv 쿠키값 출력
<1번문제 풀이>
user_lv 쿠키의 값이 5보다크면 문제가 풀리는데 eregi함수 때문에 0~9의 숫자를 사용하면 강제로 user_lv의 값이1로 세팅된다. 또한 쿠키값이 6과 같거나 크면 1로 세팅된다. 따라서 해당 if문에 해당하지 않는 5보다 크고 6보다 크거나 같지 않은 실수를 넣으면 된다.
'Back-end > Web hacking' 카테고리의 다른 글
웹해킹 14번 문제 (0) | 2020.09.05 |
---|---|
웹해킹 17번 문제 (0) | 2020.09.05 |
웹해킹 16번 문제 (0) | 2020.09.05 |
웹 해킹 10번 문제 (0) | 2020.09.05 |
웹해킹 3번 문제 (0) | 2020.09.05 |
댓글