Season 1/워게임 suninatas/웹/2번 문제풀이 작성자 - 한수임 1번 풀이에서 문제 접근하는 법을 알려드렸으므로 생략하고 바로 문제풀이에 들어가도록 하겠습니다~ 1. 문제 막상 바로 ID/PW를 뚫으라는 문제를 보니 심장이 두근대었다... 바로 ID/PW에 SQL injection 꼽아서 로그인 우회 시도했지만 역시 안되었다... 잡소리 그만하고 문제풀이 시작하도록 하겠습니다~ 2.문제풀이 1) 문제를 보며 ID/PW를 풀어 Authkey를 알아내야 되겠다고 생각하였다. 2) 어떻게 ID/PW가 보내지는지 확인하기 위하여 페이지 자체를 새로고침하여 Burp를 이용하여 패킷 분석을 하였다. 왼쪽이 요청 값 오른쪽이 응답 값 3) 페이지 응답 값 분석 - id, pw 변수 값을 보니 등록된 id, pw 값이 있는 듯하다. - 스크립트를 통해 ID/PW 가 같을 경우 "YOU can't join! Try again"이라는 문구가 뜨게 되어있다. - 아래에 주석처리에 친절히 힌트를 주었다 Join이라는 단어를 힌트로 주었고 아이디와 패스워드는 일치하다고 한다. 4) 힌트를 활용하여 ID/PW에 JOIN/JOIN을 입력해 보았다. 5) 위에 ID/PW가 같을 경우 문구가 뜨게 되어있던 게 진짜였다. 6) 이렇게 된 이상 우회를 하기로 마음먹었다. - 우회 첫 번째 방법 ID/PW를 다르게 입력하여 경고 문구가 뜨지 않게 한 뒤 프록시(burp)를 이용하여 ID/PW 값에 JOIN/JOIN을 넣어봐야겠다. - ID: TEST / PW : 1234로 입력 후 요청 패킷을 잡아 id=TEST&pw=1234 부분을 id=JOIN&pw=JOIN으로 변조해주었다. 7) 결과는.... 통과 시켜주었따.... 8) 우회 두 번째 방법 - 페이지에 접근할 때 응답 패킷을 수정하기로 했다. 수정 전 응답 값 수정 후 응답 값 - 수정 전 ID/PW가 같을 경우 "YOU can't join! Try again"문구가 뜨며 ID/PW 값을 초기화시키는 로직을 제거한 후 ID/PW가 같아도 제출되는 로직으로 변경시켜 주었다. 9) 이후 로그인 창에서 ID:JOIN / PW:JOIN 입력 10) 이후 통과~ 이번 문제는 일하면서 자주 시도해본 상황이라 무난하게 풀 수 있었던 것 같다. 다음 레벨도 기대가 된다. *제 개인적인 문제풀이 방식이었으며, 잘못된 점이 있다면 알려주시면 감사하겠습니다. 공유하기 게시글 관리 MSS 'Season 1 > 워게임' 카테고리의 다른 글 Old - 41 Write Up (0) 2021.05.21 Old - 21 Write Up (0) 2021.05.20 [dreamhack] xss-1 문제풀이 (0) 2021.05.19 [dreamhack] pathtraversal 문제풀이 (0) 2021.05.19 suninatas/웹/1번 문제풀이 (0) 2021.05.19 Contents 당신이 좋아할만한 콘텐츠 Old - 41 Write Up 2021.05.21 Old - 21 Write Up 2021.05.20 [dreamhack] xss-1 문제풀이 2021.05.19 [dreamhack] pathtraversal 문제풀이 2021.05.19 댓글 0 + 이전 댓글 더보기