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로 변경합니다. => 패스워드를 변경하는 중요 기능을 구현할 때 요청 주체 및 요청 절차를 확인하지 않고 요청을 처리(패스워드 변경)하고 있습니다. => 주소창을 확인해보면 정상적인 요청에 따른 절차인지 확인하는 토큰 ..
보안 계층 Origin(출처) origin(출처)는 접근할 때사용하는 URL의 스킴(프로토콜), 호스트(도메인), 포트로 정의되는데, 두 객체의 스킴, 호스트, 포트가 모두 일치하는 경우 같은 출처를 가졌다고 말합니다. https://www.test.com:80/main/search?type=blog&postnum=50#security scheme Domain Name Port File Path Parameters Anchor Scheme = 프로토콜 Host Address = Domain Name or IP Address Anchor = Fragment = 책갈피 = 해당 문서 내에서 특정위치 Origin = Scheme + Host Address + Port Same Origin = 동일 출처 [예제..
Bee-Box 소스코드에서 Reflected XSS가 발생하는 원인 찾기 [보안 취약점 진단 및 대응/Bee-Box] - Bee-Box(비박스) Cross-Site Scripting - Reflected(GET) Bee-Box(비박스) Cross-Site Scripting - Reflected(GET) Bee-Box(비박스) Cross-Site Scripting - Reflected(GET) (1) Kali Linux에서 http://beebox/ 사이트로 이동하여 로그인 하고, 목록에서 Cross-Site Scripting - Reflected(GET)을 찾아 이동합니다. (bee/ bug) (2) 사용자 입력 값을 psjin230.tistory.com #1 XSS 공격을 방어하기 위해 Bee-Box ..
Bee-Box(비박스) Cross-Site Scripting - Reflected(GET) (1) Kali Linux에서 http://beebox/ 사이트로 이동하여 로그인 하고, 목록에서 Cross-Site Scripting - Reflected(GET)을 찾아 이동합니다. (bee/ bug) (2) 사용자 입력 값을 작성하고 Go를 클릭하여 결과를 확인합니다. => 입력된 값이 출력에 사용되는 것을 확인 (3) 사용자 값이 서버로 전달되는 과정을 확인합니다. Reflected(GET) 사이트에서 오른쪽 마우스 클릭 > View Page Source 클릭 => 전달과정은 GET http://beebox/bWAPP/xss_get.php?firstname=gildong&lastname=hong&form=s..