Webhacking.kr Challenge 17 풀이.
17번을 클릭해서 들어가면 위의 화면이 뜬다.
asdf를 입력하고 check를 눌렀더니 Wrong이라는 페이지가 뜬다.
잘 모르겠으니 오른쪽 마우스를 눌러 페이지 소스를 본다.
스크립트 부분을 보면 무슨 계산식이 존재한다.
그 밑에는 if(login.pw.value==unlock){alert("Password is "+unlock/10); } else { alert("Wrong"); } 라는 것이 적혀 있다.
이 말은 즉슨 unlock에 위에 있는 계산식의 값을 저장을 하라는 뜻이다. 그리고 만약 login.pw.value의 값이 unlock의 값과
같으면 Password is + (unlock/10)을 출력하고, 해당하지 않는다면 Wrong을 출력하라고 되어 있다.
문제의 핵심은 unlock을 계산해야 된다는 것이다.
이걸 직접적으로 계산하는 것은 말이 안 되기 때문에 자바스크립트를 사용해서 unlock값을 볼 수가 있다.
주소창에 javascript:alert(unlock)를 입력하게 되면 unlock를 알 수 있다.
9997809307이라는 unlock값이 등장한다.
9997809307을 입력하고 check를 눌러본다.
근데 클리어까지는 나아가지 않기에 Auth(=인증)을 해야 된다.
Auth를 누르고, flag에 Password를 999780930.7를 입력한다.
Cf) javascript 콘솔을 사용해서 계산을 해도 되고,
function sub() {
alert("Password is "+unlock/10);
}
으로 수정해도 된다. 아니면 /10을 빼고 unlock 값을 보는 방법도 있다.
'# Related site issues > WEBHACKING.KR' 카테고리의 다른 글
Webhacking.kr Challenge 16. (0) | 2018.04.30 |
---|---|
Webhacking.kr Challenge 15. (0) | 2018.04.30 |
Webhacking.kr Challenge 14. (0) | 2018.04.30 |
Webhacking.kr Challenge 6. (0) | 2018.04.18 |
Webhacking.kr Challenge 18. (0) | 2018.04.18 |