LeaveRet JFF3 Write-Up | By RevDev
Misc - sanity_check [10pt]
1. Ready to Solve
Problem
http://ctf.leaveret.kr/go/db0c6d1ce29a657b2963399813f4b009/
Firefox Developer Tools
WebPage Appearance
Source Code
;(function ($, window, document, undefined) {
"use strict";
var nullFunc = function () {},
objectHolder = {};
function readyDom(iObj) {
...
...
...
function solve(check){
if(check.toString(13) == "75b8573") var flag=check.toString(12);
alert("Flag: "+flag);
}
3. Solve
이 문제는 전혀 깊게 생각할 필요가 없는 문제이다.
자바스크립트에서 toString
함수가 무엇을 하는 함수인지만 알면 바로 풀 수 있다.
toString
함수는 Object의 값을 문자열의 형태로 출력하는 함수로서, 인자로 정수가 들어갈 시 해당 정수에 해당하는 진법으로 값을 변형해서 출력하게 된다.
그럼, 답은 이미 나왔다. 다음 부분을 보자.
function solve(check){
if(check.toString(13) == "75b8573") var flag=check.toString(12);
alert("Flag: "+flag);
}
if(check.toString(13) == "75b8573") var flag=check.toString(12);
라는 문이 보인다. 결국 13진수 75b8573
을 12진수로 바꾼 것이 바로 플래그이다.
간단하게, 75b8573
을 10진수로 바꾼 값을 solve(check)
에서 check
부분에 넣어주면 된다.
그렇다면 Console 창에 입력해야 할 코드는 다음과 같다.
var getauth = 35976814
solve(getauth)
4. Flag