반응형

워게임/Root Me 108

[Root Me] Javascript - Webpack - 웹해킹 / 자바스크립트

15점짜리 Javascript - Webpack 문제 Validations 를 보면 문제 풀이 횟수가 1% 밖에 안된다고 나온다. 엄청 어려운 문제인줄 알고 긴장했는데, 어이없을정도로 쉬운 문제였다. 그냥 사람들이 많이 안풀어서 그런가보다.. 참고로 webpack 은 자바스크립트 모듈화 도구 이름이다. 웹 개발할때 사용하는 도구정도로 생각하면 된다. 문제 페이지에 들어가보면 아무런 기능도 없고, 버튼만 있는데 그냥 오리와 원앙의 차이에 대해서만 알려준다. 이럴때는 역시 또 f12를 눌러서 개발자도구를 확인해준다. 개발자 도구의 '소스' 탭을 보면 웹페이지 자체에는 특이한 내용이 없는걸 볼 수 있다. 메인 페이지에서 f12를 눌렀기 때문에 위에서 봤던 This is a normal duck! 같은 글자가 ..

워게임/Root Me 2022.03.18

[Root Me] Javascript - Native code - 웹해킹 / 자바스크립트

Javascript - Native code 문제 15점짜리 문제이다. 문제 이름이 조금 바꼈는데 사실상 Obfuscation3 라고 봐도 무방할것 같다. 비슷한 유형의 난독화 문제이다. 문제페이지에 접속하면 또 이렇게 비밀번호를 요구한다. 역시나 f12를 눌러서 개발자도구로 웹 소스를 확인해본다. 확인해봤더니 중간에 태그 사이에 알수 없는 외계어들이 써있는걸 볼 수 있다. 그래도 Obfuscation 1, 2 문제는 사람이 읽을 수 있는 글자였는데... 적어도 알파벳이었는데 이 문제는 알파벳도 아닌 이상한 기호들로 도배되어있다. 이런 괴상하게 난독화된 코드가 있을때 아주 쉽게 풀 수 있는 방법이 있다. 개발자 도구를 보면 '콘솔'이라는 탭이 있다. 여기서 테스트용으로 javascript 코드를 실행시켜..

워게임/Root Me 2022.03.16

[Root Me] Javascript - Obfuscation 2 - 웹해킹 / 자바스크립트

두번째 Obfuscation 문제 Obfuscation이란 난독화를 의미한다. 보통 공격자가 악성코드의 분석을 방해하기 위해 사용하거나 개발자가 코드의 동작을 숨기기 위해 사용한다. 이전문제처럼 비밀번호를 알아내면 된다. 가장먼저 f12를 눌러서 개발자도구를 이용해 웹 소스를 확인해본다. pass 라는 변수에 무언가를 unescape한 값을 넣고있다. escape 함수는 인코딩, unescape 함수는 디코딩을 시켜주는 함수이다. 자세히보면 unescape가 두번 들어가 있다. 따라서 두번 디코딩을 해주면 된다. 구글에 url 디코딩 이라고 검색하면 온라인으로 디코딩 할 수 있는 사이트들이 많이 나온다. 아무곳이나 들어가서 두번 디코딩을 해준다. 첫번째 디코딩을 하면 쪼금 알아 볼 수 있는 것들이 생긴다..

워게임/Root Me 2022.03.13

[Root Me] Javascript - Obfuscation 1 - 웹해킹 / 자바스크립트

10점짜리 Javascript - Obfuscation 1 문제 Obfuscation 은 혼미, 난처함 등의 의미를 가지는 영단어인데, 정보보안에서는 주로 코드 난독화를 의미한다. 보통 공격자들이 악성코드의 동작을 숨기거나, 보안장비를 우회할때 쓰기도 하고, 개발자들도 공격자들에게 코드가 노출되는것을 방지하기 위해서 사용하는 방법이다. 문제페이지에 접속하면 알림창이 뜨면서 비밀번호를 입력하라고 한다. 마치 이전에 풀어봤던 Javascript - source 문제와 유사하다. f12를 눌러서 개발자도구를 통해 해당 페이지의 웹 소스를 살펴보면 pass = 으로 pass라는 변수를 선언하고 그 안에는 알수없는 이상한 값들이 들어가 있는것을 볼 수 있다. 이것처럼 %숫자 로 이루어진 문자열들은 url 인코딩이..

워게임/Root Me 2022.03.10

[Root Me] Javascript - Authentication 2 - 웹해킹 / 자바스크립트

Javascript - Authentication2 자바스크립트 인증 관련 두번째 문제이다. 아까 문제랑 다르게 배점이 10점이다. 조금 어렵지 않을까 기대했으나 그렇게 어렵지는 않았다. 문제페이지에 들어가면 로그인 버튼이 하나 나온다. 버튼을 클릭해서 로그인을 하면 되는 문제이다. 이전문제처럼 f12를 눌러서 개발자 도구를 보면 iogin.js 에서 인증 관련된 부분을 찾울 수 있다. 필요한 부분만 잘라내서 좀 보면 var TheLists = ["GOD:HIDDEN"]; for (i = 0; i < TheLists.length; i++) { if (TheLists[i].indexOf(username) == 0) { var TheSplit = TheLists[i].split(":"); var TheUse..

워게임/Root Me 2022.03.08

[Root Me] Javascript - Source - 웹해킹 / 자바스크립트

5점짜리 간단한 웹 해킹 문제 문제이름이 javascript - source 인걸로 보아 소스를 잘 보면 되는듯 하다. 문제페이지에 들어가면 알람창이 뜨면서 비밀번호를 요구한다. 비밀번호를 맞게 입력해야 다음 화면으로 넘어갈 수 있다. 이런 종류의 웹 해킹문제는 보통 취약점을 이용해서 인증을 우회하거나, 비밀번호를 추측해서 맞추는 방식이다. 하지만 이번문제는 5점짜리 이므로 단순하게 생각해야 한다. 나는 보통 웹 해킹 문제를 풀때 f12를 눌러서 개발자도구를 먼저 살펴본다. 개발자도구로 웹 소스를 보면 pass = "123456azerty" 라고 비밀번호가 적혀있는것을 확인할 수 있다. 웹 개발 당시 흔히 하는 실수로 개발당시 테스트용으로 작성한 id/pw 같은것들이 클라이언트 환경에서 보이게 되는 것이..

워게임/Root Me 2022.03.06

[Root Me] Javascript - Authentication - 웹해킹 / 자바스크립트

역시나 5점짜리 간단한 웹 해킹 문제이다. 문제이름이 Javascript - Authentication 인걸 보니 인증 우회하는 문제인것 같다. 들어가면 로그인 창이 나온다. f12를 눌러서 개발자도구를 보면 웹 리소스들을 볼 수가 있는데, 그중 login.js 파일이 눈에 띈다. 문제 제목도 Javascript 이니 이 파일을 보는게 맞는듯 하다. login.js 파일을 보면 개발자의 실수인지 admin 의 아이디와 비밀번호가 그대로 노출이 되어 있는것을 볼 수 있다. 해당 아이디와 패스워드로 로그인하면 문제가 풀리게 된다.

워게임/Root Me 2022.03.04

[Root Me] HTML - disabled buttons - 웹해킹

5점짜리 간단한 웹 해킹 문제이다. disabled 된 button을 누르면 된다. 들어가면 입력창이 있는데 옆에 버튼이 클릭되지 않는다.(disabled 되어있다.) F12를 눌러서 웹 소스를 보면 해당 부분이 input disabled tybe='submit' 이런식으로 되어있는것을 확인할 수 있는데 이곳의 disabled를 더블클릭해서 지워주고 아무 값이나 입력하면 플래그가 나온다.

워게임/Root Me 2022.03.02
반응형