SWLUG/μ›Ή ν•΄ν‚Ή

[webhacking.kr] old-12번

waterproof 2023. 9. 27. 01:32

[webhacking.kr] old-19번https://webhacking.kr/challenge/code-3/

 

Challenge 12

 

webhacking.kr

 

 


 

 

문제 링크둜 λ“€μ–΄κ°€λ©΄ λ‚˜μ˜€λŠ” 화면이닀.

 

"javascript challenge"라고 μ“°μ—¬μžˆμœΌλ―€λ‘œ 개발자 λ„κ΅¬λ‘œ λ“€μ–΄κ°€ μ€€λ‹€.

 

 

 

 

제일 λ¨Όμ € λˆˆμ— 띈 건 μ•Œ 수 μ—†λŠ” 이λͺ¨ν‹°μ½˜λ“€...

 

μ–΄λ–»κ²Œ ν•΄μ•Ό 할지 λͺ¨λ₯΄κ² μ–΄μ„œ ꡬ글링을 ν–ˆλ‹€.

 

( μ°Έκ³ : https://security-nanglam.tistory.com/281 )

 

λ‹€μŒμ€ <script>~</script> νƒœκ·Έ 사이에 μžˆλŠ” μ•Œ 수 μ—†λŠ” 이λͺ¨ν‹°μ½˜λ“€μ— λŒ€ν•œ μ„€λͺ…이닀.

이 λ‚œλ…ν™” 방법은 aaencode λ°©μ‹μœΌλ‘œ, μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό 이λͺ¨ν‹°μ½˜μœΌλ‘œ λ°”κΏ”μ£ΌλŠ” μ•”ν˜Έν™” 방식이닀. 
일본의 κ°œλ°œμžκ°€ λ§Œλ“€μ—ˆλ‹€κ³  ν•œλ‹€.
μ½”λ“œ λ‚œλ…ν™”λŠ” ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ‘œ μž‘μ„±λœ μ½”λ“œμ— λŒ€ν•΄ μ½κΈ° μ–΄λ ΅κ²Œ λ§Œλ“œλŠ” μž‘업이닀.

 

 

 

 

그런데 μ•Œ 수 μ—†λŠ” μ—λŸ¬λ•Œλ¬Έμ— λ³΅ν˜Έν™”λ₯Ό μ‹€νŒ¨ν–ˆλ‹€.

 

κ·Έλž˜μ„œ λ³΅ν˜Έν™”λ₯Ό μ„±κ³΅ν•œ 사둀λ₯Ό κ°€μ Έμ™”λ‹€.

 

 

μ € 이λͺ¨ν‹°μ½˜λ“€μ„ λ³΅ν˜Έν™”ν•˜λ©΄ μ•„λž˜μ™€ 같은 μžλ°” 슀크립트 μ½”λ“œκ°€ λ‚˜μ˜¨λ‹€κ³  ν•œλ‹€.

 

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";
}

 

음........ 이 μƒνƒœλ‘œ 봐도 μ „ν˜€ λͺ¨λ₯΄κ² λ‹€....

 

κ΅¬κΈ€λ§ν•΄λ³΄λ‹ˆ,

 

이 μ½”λ“œλŠ” JavaScriptμ—μ„œ, νŠΉμ • 쑰건이 좩쑱될 λ•Œ νŽ˜μ΄μ§€λ₯Ό λ‹€λ₯Έ 곳으둜 μ΄λ™μ‹œν‚€λŠ” 역할을 ν•œλ‹€. 쑰건은 ν˜„μž¬ URLμ—μ„œ '=' μ΄ν›„μ˜ λΆ€λΆ„κ³Ό λͺ‡ 가지 ASCII 문자의 μ‘°ν•©μœΌλ‘œ κ΅¬μ„±λ˜μ–΄ μžˆλ‹€. If문은 이 쑰건을 κ²€μ‚¬ν•˜κ³ , λ§Œμ•½ μΌμΉ˜ν•˜λ©΄ μƒˆλ‘œμš΄ URL둜 μ΄λ™ν•œλ‹€.

 

 

* * *

λ§Œμ•½ ck 값이 "=" + enco_(240) + enco_(220) + enco_(232) + enco_(192) + enco_(226) + enco_(200) + enco_(204) + enco_(220) + enco_(198) + "~~~~~~" + enco2 + enco3 와 λ™μΌν•˜λ‹€λ©΄,

 

 

κ³  ν•œλ‹€.

 

 

 

 

 

μ½˜μ†”μ°½μ— μž…λ ₯ν•΄μ£Όλ©΄ 

'youaregod~~~~~~~!'

이라고 λ‚˜μ˜¨λ‹€.

 

 

/?=youaregod~~~~~~~!
을 λ„£μ–΄μ£Όλ©΄ μ •λ‹΅!

'SWLUG > μ›Ή ν•΄ν‚Ή' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Root me] File upload - Double extensions  (0) 2023.09.30
[Webhacking.kr] old-28  (0) 2023.09.28
[Root Me] Javascript - Webpack  (0) 2023.09.26
[Root Me] Javascript - Authentication 2  (0) 2023.09.23
[Root Me] HTTP - COOKIES  (0) 2023.09.23