[WEB] This is Sparta 문제풀이

2019. 2. 14. 23:52CTF/Cybertalents


안녕하세요!

오늘도 web문제에서 

easy 난이도인 

This is Sparta 문제를

풀어보겠습니다!


맨처음에 들어가니 

아래와 같이 login창이 있네요!


그런데 뭐 sql injection인가?

하고 몇 개 간단하게 입력해 봤는데

아무런 반응이 없더군요!


그래서 힌트를 보기위해 F12를 눌러서

소스코드를 보도록 하겠습니다!



뭐 위에서 보이는 소스코드 부분은 

딱히 힌트 될 만한 게 없죠?


저도 맨처음에 코드 볼줄 몰라서

뭐가 힌트인 소스인지, 뭐가 아닌지

구별이 안되었는데!


cssstyle 혹은 color 또는 font등의 

디자인이나 서식과 같은 종류의 태그들은

일반적으로 힌트가 아니더라구요!



여기도 딱히 단서가

될만한 것들이 보이질 않죠?


특별하게 감춰놓은 <input>도 없고

그냥 post방식으로 보내는구나!

parameter(인자)의 이름은 user, pass구나!


<!-- 참고로 norton-idsafe-field~ 

이건 제가 anti norton 프로그램 사용해서 

뜨는거니 무시하셔도 되세요!  -->


아 이제야 뭔가 보이네요!

뭔가 되게 정상적이지 않은 

자바스크립트 코드가 있죠?


왜냐하면 <script> </script>사이에

뭔가 적혀있는데 

sparta 페이지에는 이런 자바스크립트 기능이 

구현된 걸 본적이 없거든요!


그래서 일단 해당 내용을 모두 복사했습니다!


복사해서 F12에서 

소스코드 보여주는 element 말고

console로 넘어가서


자바스크립트를 실행시키려고

복사해온 문자열을

여기다가 paste 했습니다!


근데, 뭐  콘솔창에 flag나 다른걸 입력해도

아무것도 안나와서 

뭐지? 어떻게 해야하지?

라고 생각했습니다.


근데 제가 흔히 보는 코드가 아니여서

인터넷에서 검색을 좀 해보니

자바스크립트 소스코드를 암호화해서

문제를 내는 경우가 있다해서!


저도 위 코드를 복호화 시도를 해봤습니다!



그래서 왼쪽에 보이는 코드가 원래 코드고

오른쪽에 있는 코드가 해석된 코드입니다!

이제야 뭔가 좀 보이네요!


근데 저 함수에서도 유의해서 본 부분은!

if(moduleAction == 0xae5b[4]&&moduleName == 0xae5b[4])

{                           

 alert( 0xae5b[5])

}                    

else                      

{                         

     alert(0xae5b[6]) 

}                        


왜냐하면 어떤 값이냐에 따라서 

alert해주는 팝업창이 다르자나요!


뭔가 옳게 입력하면 flag을 띄우고

틀리게 입력하면 틀렸다고 알림을 울리지 않을까요?


근데 0xae5b[ ]배열을 보니!

차례대로 

value-> 0xae5b[0]

 user-> 0xae5b[1]

 getelementbyid-> 0xae5b[2]

pass-> 0xae5b[3]

 Cyber-Talent-> 0xae5b[4] 

Congratz-> 0xae5b[5]

wrong password-> 0xae5b[6]



moduleAction, moduleName이 모두 0xae5b[4]면

즉 Cyber-Talent이면 

참 값이니

flag값이 뜨겠죠? 


왜냐하면 둘다 맞으면 0xae5b[5]를 출력하는데

0xae5b[5]가 Congratz!이니까 문제를

맞췄단 소리잖아요! 


문제 틀렸는데 

축하합니다!를 출력할리 없으니까요 

그래서 각각의 항목에

Cyber-Talent를

똑같이 붙여넣기 했습니다!


그리고 submit을

누르니!


예상대로!

congratz!라고 알림이 뜨면서 

flag값이 뜨네요!


그럼 고생하셨습니다!

'CTF > Cybertalents' 카테고리의 다른 글

[WEB] I am Legend  (0) 2019.02.25
[Web] Encrypted Database  (0) 2019.02.24
[WEB] Cool Name Effect  (0) 2019.02.23
[WEB] Admin has the power 문제풀이  (0) 2019.02.13