워게임30 devtools-sources [문제] [풀이] Chrome HTML Document 파일을 연다. 개발자 도구를 연 다음 Sources 탭에서 Ctrl+f로 플래그 형태인 “DH{···}"를 검색한다. main.scss 파일에서 검색하게 되면 다음과 같이 플래그를 찾을 수 있다. 2022. 8. 20. [Memory] GrrCON 2015 #9~16 https://shsh010914.tistory.com/80 [Memory] GrrCON 2015 #1~8 [파일 추출] 메모리의 운영체제를 식별한다. imageinfo에서 확인한 Suggested Profiles 중 하나를 선택하여 명령어 뒤에 덧붙여서 사용한다. 해당 실습에서는 Win7SP1X86를 사용한다. 문제 풀이를 진행하기 shsh010914.tistory.com 이어서 문제 풀이를 진행한다. [GrrCON 2015 #9] 관리자 계정의 NTLM 암호 해시를 찾는 문제이다. hashdump 플러그인을 통해 사용자의 암호 해시를 확인할 수 있다. 관리자 계정의 암호 해시는 aad3b435b51404eeaad3b435b51404ee:79402b7671c317877b8b954b3311fa82이다. .. 2022. 8. 14. [Memory] GrrCON 2015 #1~8 [파일 추출] 메모리의 운영체제를 식별한다. imageinfo에서 확인한 Suggested Profiles 중 하나를 선택하여 명령어 뒤에 덧붙여서 사용한다. 해당 실습에서는 Win7SP1X86를 사용한다. 문제 풀이를 진행하기 앞서 프로세스 검색, 네트워크 분석, CMD 분석, 파일 분석에 대한 파일을 log 파일로 저장한다. 차례대로 pslist, psscan, pstree, psxview 명령어를 실행하여 출력 값을 파일로 저장한다. netscan 명령어를 실행하여 출력 값을 파일로 저장한다. 차례대로 cmdline, cmdscan, consoles 명령어를 실행하여 출력 값을 파일로 저장한다. filescan 명령어를 실행하여 출력 값을 파일로 저장한다. [GrrCON 2015 #1] 프런트 데스.. 2022. 8. 14. funjs [문제] [풀이] 문제에 접속하면 "Find FLAG !"가 써있는 입력창이 계속 움직이는 것을 확인할 수 있다. function moveBox() { box.posX = Math.random() * (window.innerWidth - 64); box.posY = Math.random() * (document.documentElement.scrollHeight - 64); box.style.marginLeft = box.posX + "px"; box.style.marginTop = box.posY + "px"; debugger; } 입력창의 이동과 debugger의 감지를 moveBox() 함수가 담당하고 있기에 해당 부분을 삭제하고 저장해 주었다. moveBox() 함수를 삭제하니 더 이상 입력창이 .. 2022. 5. 14. login-1 [문제] [풀이] 문제에 접속화면 로그인을 할 수 있는 /login 페이지, 회원가입을 할 수 있는 /register 페이지, password를 찾을 수 있는 /forgot_password 페이지를 확인할 수 있다. 우선 소스 코드를 살펴보자. 소스 코드를 살펴보면 guest 계정과 admin 계정의 userLevel을 0과 1로 나눈 것을 확인할 수 있다. /forgot_password 페이지에서는 사용자가 backupCode를 입력하여 입력한 값이 일치한다면 password를 변경해주고 있다. 이때, sleep(1)을 걸어서 1초 내에 여러 접근이 발생할 경우 race condition 취약점이 발생한다. 해당 취약점을 이용하여 burte force Attack을 수행해 문제를 해결하는 것으로 보인다.. 2022. 5. 14. session [문제] [풀이] 소스 코드를 살펴보면 guest, user, admin 계정이 있음을 확인할 수 있다. os.urandom(4).hex() 함수를 통해 4byte의 무작위 값을 hex 값으로 변환하여 session_id에 저장한다. 그 다음에 session_storage[session_id] = username을 통해 로그인 한 사용자의 세션 ID를 정의한다. session_storage[os.urandom(1).hex()] = 'admin'을 통해 admin의 세션 ID를 정의한다. 이때, admin의 세션 ID는 1byte의 hex 값으로 설정된다. 플래그를 얻기 위해서는 admin 계정으로 로그인을 해야 하는데 admin의 세션 ID를 Brute force attack을 통해 알아낸 다음 admi.. 2022. 5. 14. 이전 1 2 3 4 5 다음