[WEB] Cool Name Effect

2019. 2. 23. 23:53CTF/Cybertalents


안녕하세요!

오늘은 웹 문제중에서

easy 난이도인 

Cool Name Effect를 풀어볼게요!


문제에 들어가니 둥그렇게

text가 떠서 

name이라고 입력하니

아래와 같이 제가 입력한 

name이 뜨네요!



어? 입력 값이 그대로 나와?

그러면 xss 바로 가능한대?

라고 생각해서


( 입력값을 그대로 출력하면

브라우저가 내가 주입하는 자바스크립트 코드를 

그대로 전달받으니 취약한거죠)


설마 <script> 태그가 출력되나?

해서 보니까 script 단어가

forbidden이라고 하네요



그러면 혹시 <,>이  열고닫는

친구들은 허용되나?

해서 입력해봤는데

이 둘은 허용이 되더라구요!


근데 문제를 어떻게 풀지 감이 안오더라구요

자바스크립트 문제면  일반적으로

함수의 작동원리나 

자바스크립트를 실행시켜서 

창을 띄우던가 해야하는데....


그래서 개발자 도구 F12를 눌러서 코드를 보니

script태그 사이에 이렇게 이상한 코드가 있더라구요!

eval( )함수는 ( )안에 있는 텍스트를 실행한다는 의미!


근데 이렇게 eval 함수안에 뭔소린지 모르겠는

코드가 있을 때  어떻게 해야할지 

모르겠어서 찾아보니!


자바스크립트 코드를 보기 좋게 풀어주는 사이트가 

있더라 구요!


구글에 javascript deobfuscate라고 치니까

몇 개의 사이트가 나오더라구요!


그중에 하나로 들어가서 

아래와 같이 스크립트를 복사했습니다!


그리고 Deobfuscate 버튼을 누르니!

아래와 같이 깔끔하게 

자바스크립트 코드로 보기 좋게 나옵니다!


흠.. 근데 이 코드에서 

실마리가 어디 있을까요?




근데 계속 내리다 보니! 

아래와 같이 

y o u r f l a g i s 이렇게 문자열이 보이네요!

그래서 아 이거구나!


그래서 근처에 있는 자바스크립트를 

다 긁어와서 복사했습니다!



그래서 console창을 키고

코드에서 필요한 부분만 넣었습니다

( var newAlert = function( ) 이건 필요 없어서 뺐습니다)





그리고 enter를 누르니!

아래와 같이 

your flag is: 이라는 형식으로 뜨네요!


CTF문제에서 javascript는

javascript 코드를 찾는게 역시 

중요한거 같네요!


오늘도 고생하셨습니다!


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

[WEB] I am Legend  (0) 2019.02.25
[Web] Encrypted Database  (0) 2019.02.24
[WEB] This is Sparta 문제풀이  (0) 2019.02.14
[WEB] Admin has the power 문제풀이  (0) 2019.02.13