WebGoat(웹고트) Bypass a Path Based Access Control Scheme (1) Window xp에서 http://victim:8080/WebGoat/attack 사이트로 이동하여 목록에서 Bypass a Path Based Access Control Scheme을 찾아 이동합니다. (webgoat / webgoat) (2) 사용자 값이 서버로 전달되는 과정을 확인합니다. => 사용자 화면에서 입력 : AccessControlMatrix.html => POST 방식으로 attack?Screen=51&menu=200 ...(요청헤더)... File=AccessControlMatrix.html&SUBMIT=View File로 전송합니다. => 파일경로가 노출되어 있고, 사용자가 선택..
경로조작 공격경로조작(Path Traversal) 공격은 외부에서 전달된 값이 서버 내부의 파일을 참조하는데 사용되는 경우에 발생하는 취약점으로, 외부 입력 값에 경로를 조작하는 문자열(. .. / \ 등) 포함 여부를 확인하지 않고 사용하면 제한된 경로를 벗어나 시스템 파일 등에 접근이 가능해지는 취약점입니다. => 이 방식은 파일 저장 경로는 외부에 노출되지 않으나, 파일명에 경로 조작 문자열 포함 여부를 확인하지 않았기 때문에 원래 접근할 수 없는 (시스템) 경로의 파일을 다운로드 할 수 있는 문제가 발생 보안대책외부 입력값을 서버 내부 파일을 참조하는데 사용하는 경우, 외부 입력값에 경로 조작 문자열 포함 여부를 확인하고 사용하거나, 사용할 수 있는 값을 미리 정의하고 정의된 범위 내의 값만 사..
이클립스에서 File Upload 취약점이 발생하는 원인 찾기 [보안 취약점 진단 및 대응/openeg] - openeg File Upload openeg File Upload openeg File Upload (1) Kali Linux에서 http://victim:8080/openeg사이트로 이동하여 로그인 합니다.(test / test) (2) 로그인 후 게시글을 작성합니다. (파일업로드) (3) 게시글을 확인하고 개발자도구(F12)에서 소스 psjin230.tistory.com [BoardController.java에서 원인 찾기] (1) eclipse에서 Ctrl + Shift + R을 눌러 BoardController.Java를 검색합니다. (2) 문제가 되는 부분을 확인합니다. => 업로드 파..
openeg File Upload (1) Kali Linux에서 http://victim:8080/openeg사이트로 이동하여 로그인 합니다.(test / test) (2) 로그인 후 게시글을 작성합니다. (파일업로드) (3) 게시글을 확인하고 개발자도구(F12)에서 소스코드를 확인합니다. => 업로드한 이미지에 접근할 수 있는 주소 : http://victim:8080/openeg/files/cat.PNG (주소 상속) => 업로드한 파일이 외부에서 접근 가능한 경로에 저장되고 있습니다. => 원본 파일명과 동일하게 저장되고 있습니다. (4) 이번에는 Window xp 바탕화면에 있는 OSCommand.jsp 파일을 업로드합니다. (5) 게시글을 확인합니다. => 업로드는 되었지만, 업로드한 파일이 이..
Bee-Box(비박스) CSRF(Transfer Amount) 송금은 중요기능이며, 중요기능을 구현할 때는 반드시 정상적인 절차에 따른 요청인지 확인(Token 사용)하고, 요청 주체를 확인하는 로직이 반영(재인증,재인가)되어야합니다. (1) Bee-Box에서 http://beebox/ 사이트로 이동하여 로그인합니다.(bee/bug) (2) Cross-Site Request Forgery(Transfer Amount)로 이동합니다. (3) 서버로 전달되는 내용을 확인합니다. => 개발자도구(F12)에서 소스코드를 확인 => GET방식 http://localhost/bWAPP/csrf_2.php?account=123-45678-90&amount=0&action=transfer ⇒ 요청 절차와 요청 주체를 ..
이전 포스트에 이어서 작성하였습니다. [보안 취약점 진단 및 대응/openeg] - openeg CSRF openeg CSRF openeg CSRF CSRF 취약점을 가지고 있는 게시판에 자동 글쓰기 코드 추가 (1) eclipse에서 Ctrl + Shift + R을 눌러 BoardController.Java를 검색합니다. (2) 이전에 수정했던 코드를 주석처리합니다. (3) http://victim:8 psjin230.tistory.com 이전 실습에서 게시판에 존재하는 취약점 종류 => 실행 가능한 스크립트 코드를 게시판에 등록하면 게시판 상세페이지에서 스크립트 코드가 실행되므로 Stored XSS 취약점이 존재 => 게시판 등록에 필요한 값을 자동으로 전송하는 코드를 게시판에 등록했을 때 해당 게시..
openeg CSRF CSRF 취약점을 가지고 있는 게시판에 자동 글쓰기 코드 추가 (1) eclipse에서 Ctrl + Shift + R을 눌러 BoardController.Java를 검색합니다. (2) 이전에 수정했던 코드를 주석처리합니다. (3) http://victim:8080/openeg에 접속하여 로그인합니다. (test/test) (4) 게시판 내용에 스크립트 코드를 추가했을 때 스크립트 코드가 동작하는지 확인합니다. => 게시글을 작성하고, 작성한 게시글을 확인하면 스크립트 코드가 동작하는 것을 확인할 수 있습니다. (5) 게시판 글쓰기 화면이 동작하는 코드를 확인합니다. (6) 게시판 코드를 바탕으로 다음 코드를 생성하여 게시글을 등록합니다. 청년(만 39세이하)을 대상으로 시중에서 가장..
Bee-Box(비박스) CSRF (1) Bee-Box에서 http://beebox/ 사이트로 이동하여 회원가입을 합니다. (2) 계정이 잘 만들어졌는지 확인하기 위해 생성한 계정으로 로그인합니다. (3) 로그아웃 후 bee계정으로 로그인 합니다. (4) Cross-Site Request Forgery(Change Password)로 이동합니다. => 패스워드 변경페이지를 보면 현재 패스워드를 입력하는 재인증을 위한 입력창이 존재하지 않음을 볼 수 있습니다. (5) 패스워드를 password로 변경합니다. => 패스워드를 변경하는 중요 기능을 구현할 때 요청 주체 및 요청 절차를 확인하지 않고 요청을 처리(패스워드 변경)하고 있습니다. => 주소창을 확인해보면 정상적인 요청에 따른 절차인지 확인하는 토큰 ..