[webhacking.kr] old-12 Write-Up
두비니
·2022. 9. 3. 06:23
webhacking.kr old-12
Write-Up
01. 문제 분석
그렇다고 한다. 코드를 확인하도록 하자.
음.. 우선 딱봐도 javascript obfuscation인 것을 확인할 수 있다.
02. Solution
느낌상 jsfuck같은 류에서 custom으로 바꾼 것 같았다. 그래서 좀 찾아보니...
https://utf-8.jp/public/aaencode.html
이걸 찾았다. 그리고 해당 페이지에서는 encoding만 지원을 해서 조금 더 찾아보니,,
https://lelinhtinh.github.io/de4js/
이 사이트에서 aaencode를 decoding할 수 있었다.
var enco = '';
var enco2 = 126;
var enco3 = 33;
var ck = document.URL.substr(document.URL.indexOf('='));
for (i = 1; i < 122; i++) {
enco = enco + String.fromCharCode(i, 0);
}
function enco_(x) {
return enco.charCodeAt(x);
}
if (ck == "=" + String.fromCharCode(enco_(240)) + String.fromCharCode(enco_(220)) + String.fromCharCode(enco_(232)) + String.fromCharCode(enco_(192)) + String.fromCharCode(enco_(226)) + String.fromCharCode(enco_(200)) + String.fromCharCode(enco_(204)) + String.fromCharCode(enco_(222 - 2)) + String.fromCharCode(enco_(198)) + "~~~~~~" + String.fromCharCode(enco2) + String.fromCharCode(enco3)) {
location.href = "./" + ck.replace("=", "") + ".php";
}
여기서부터는 그냥 console을 통해 문제를 풀었다.
해당 문자열과 같을 경우 해당 이동하기 때문에, 나도 그렇게 했다.
'War Games > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] old-13 Write-Up (0) | 2022.09.04 |
---|---|
[webhacking.kr] old-11 Write-Up (0) | 2022.09.02 |
[webhacking.kr] old-10 Write-Up (0) | 2022.09.01 |
[webhacking.kr] old-9 Write-Up (0) | 2022.08.31 |
[webhacking.kr] old-8 Write-Up (0) | 2022.08.31 |