webhacking.kr 12번 문제풀이 Write Up 입니다.
javascript challenge라고 합니다.
F12를 눌러 script를 확인해봅니다.
하... 짜증이 조금 날 것 같습니다.
짜증은 문제 틀렸을 때 내기로 하고 script를 살펴봅니다. 아마 난독화 되어 있는 script인 것 같습니다.
이렇게 난독화되어 있는 것을 검색해 보았습니다.
일본 이모티콘 난독화 이렇게 검색을 했는데, aaencode / aadecode를 발견했습니다.
https://utf-8.jp/public/aaencode.html
aaencode - Encode any JavaScript program to Japanese style emoticons (^_^)
aaencode demo aaencode - Encode any JavaScript program to Japanese style emoticons (^_^) Enter JavaScript source: alert("Hello, JavaScript")
utf-8.jp
https://cat-in-136.github.io/2010/12/aadecode-decode-encoded-as-aaencode.html
aadecode - Decode encoded-as-aaencode JavaScript program. ['_']
aadecode - Decode encoded-as-aaencode JavaScript program. (゚Д゚) ['_'] Enter ...
cat-in-136.github.io
위 링크가 난독화, 아래 링크가 난독화 해제 툴입니다.
난독화를 해제할 것이기 때문에 아래 링크로 들어갑니다.
위 텍스트박스에 해당 script를 붙여넣어야 합니다.
script 복사할 때 이렇게 복사해야 합니다.
더블클릭 해서 긁으면 완전하게 복사가 안 됩니다. 이거 때문에 한참 해멨습니다.
난독화 해제가 되었습니다.
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";
}
if문 조건이 좀 긴데, 특정 문자열이 들어오면 문제가 해결되나 봅니다.
ck와 비교를 하는데, ck는 URL에서 '=' 문자를 기준으로 받아오는 것 같습니다.
enco_() 함수를 돌려야 문자열을 알 수 있기 때문에 console에 script를 적용시킵니다.
if문 안에 있는 조건을 긁어와 실행시켰더니 이런 메시지가 나왔습니다.
=를 기준으로 문자열을 가져오니 GET 방식으로 값 전송하듯이 작성하면 될 것 같습니다.
실제로 값을 전송하기 위해 작성하는 게 아니니까 변수 이름은 아무거나 해도 됩니다.
조건 만족에 성공하면 문제가 정답처리 됩니다.
'CTF > webhacking.kr' 카테고리의 다른 글
[CTF] webhacking.kr 15번 Write-Up (0) | 2022.10.14 |
---|---|
[CTF] webhacking.kr 14번 Write-Up (0) | 2022.10.14 |
[CTF] webhacking.kr 11번 Write-Up (0) | 2022.10.14 |
[CTF] webhacking.kr 10번 Write-Up (0) | 2022.10.14 |
[CTF] webhacking.kr 8번 Write-Up (0) | 2022.10.14 |
댓글