Client(11)
-
Web - Client | XSS - Stored 1
메인 페이지를 들어가니 Title과 Message를 적는 부분이 나옵니다. 우선 Xss Test부터 해보겠습니다. 이렇게 메시지를 보내보니 제대로 alert 창이 떴습니다. 이제 XSS 구문을 어떻게 만들지 생각해보겠습니다. 우선 개발자 도구를 열어서 소스코드부터 뜯어보겠습니다. Forum v0.001 Status: visitor message enregistré / content saved Title: Message: Posted messages: Welcome N'hésitez pas à me laisser un message / Feel free to leave a message xss 코드의 아래쪽을 보면 script 태그 사이에 제가 Message에 넣어 보냈던 alert 구문이 들어가 있는 걸..
2022.06.01 -
Web - Client | Javascript - Obfuscation 3
처음으로 풀어보는 난이도 3짜리 문제...! 어떤 문제일지 기대되네요. 메인 페이지에 들어가자 역시나 alert 창이 뜹니다. PW를 입력하라고 하네요. 이번에는 다른 문제들보다 JS Code가 조금 복잡해 보입니다. 윗부분은 쭉 보니 딱히 중요한 부분이 없는 것 같습니다. dechiffre() 함수 밖에 있는 String["fromCharCode"] 부분을 보면 dechiffre~~라고 써져있습니다. 여기서 괄호 안에 들어있는 16진수들을 10진수로 바꿔보겠습니다. 제대로 나온 것 같습니다. 아마도 아스키코드의 10진수인 것 같네요. 이제 이 문자열을 fromCharCode()에 넣은 뒤, Console에서 실행해보겠습니다. 난이도가 3이 되니 슬슬 풀 맛이 나네요 :>
2022.05.29 -
Web - Client | Javascript - Webpack
정답률이 극악이네요..?? 메인 페이지만 보면 취약점이 전혀 보이지 않았습니다. 그래서 개발자 도구의 Source 부분에 들어가서 "어떤 취약점이 있을까...." 하며 한참을 찾았습니다. 근데 안 나오더라고요???? 여길 봐도 별다른 취약점이 없었습니다. 여기도 마찬가지..... 한참을 찾다가 문제 이름이 힌트인 건가 싶어 구글에 Webpack를 검색해봤습니다. https://webpack.kr/ webpack 웹팩은 모듈 번들러입니다. 주요 목적은 브라우저에서 사용할 수 있도록 JavaScript 파일을 번들로 묶는 것이지만, 리소스나 애셋을 변환하고 번들링 또는 패키징할 수도 있습니다. webpack.kr Webpack는 여러 개의 파일을 하나로 합쳐주는 JS 모듈 번들러였습니다. 한참 구글링을 해도..
2022.05.28 -
Web - Client | Javascript - Native code
알림 창이 뜨는 걸 보자마자 바로 개발자 도구부터 열어봤습니다. 딱 봐도 난독화가 되어있는 것 같기에 Console에서 String으로 변환시켜봤습니다. 실패했습니다. 왜 이런 에러가 나는지 이유를 몰라서 구글링을 해봤더니, 뒤에 붙어있는 ()를 떼야한다고 합니다. 저거 하나 때문에 20분을 날려먹었네요 :>>> 코드 해석부터 해보겠습니다. prompt에 입력하는 값이 들어가는 a라는 변수가 존재합니다. 이 a가 FLAG와 같다면 alert로 'bravo'를 출력하게 됩니다. 그럼 a==FLAG에서 FLAG에 해당하는 값을 제출란에 넣어보겠습니다. "구글링 실력이 곧 해킹 실력이다."라는 말이 있는데... 진짜 맞는 말인 것 같습니다. 구글은 신이야!
2022.05.27 -
Web - Client | Javascript - Obfuscation 2
이번에는 메인 페이지에 아무것도 적혀있지 않습니다. 바로 JS 코드부터 보겠습니다. pass에 어떤 문자열을 unescape 해서 넣어주고 있습니다. 이 pass 변수가 아마 PW가 될 텐데, 문제에서 시키는 대로 Console에서 Decoding을 해보겠습니다. 제대로 FLAG가 나온 것 같네요. 제출해보겠습니다 :> CTF에서도 이렇게 쉽게 풀리면 좋으련만....ㅠㅠ
2022.05.26 -
Web - Client | Javascript - Obfuscation 1
메인 페이지를 열자마자 또 알림 창이 떴습니다. PW를 입력하라고 하네요. 이번에도 역시 JS 코드를 열어서 문제를 풀어보도록 하겠습니다. 난독화 된 문자열이 들어있는 pass라는 변수가 눈에 띄네요. 이 변수를 unescape() 함수에 넣어서 다시 정상적인 문자열로 바꿔주는 걸 볼 수 있습니다. 그렇다면 이 문자열을 긁어와 Console에서 unescape() 해주면 FLAG가 나올 것이라고 유추할 수 있습니다. 나온 문자열을 PW라고 생각하고 PW 입력창에 넣어보겠습니다. 제대로 된 PW였네요. 이제 이 문자열을 FLAG 제출란에 넣어주겠습니다.
2022.05.25