CSRF(Cross-Site Request Forgery; 크로스 사이트 요청 위조)CSRF(Cross-Stie Request Forgery)는 서버에서 요청 주체와 요청 절차를 확인하지 않고 요청을 처리하는 경우 발생할 수 있는 공격입니다. 사용자의 권한으로 요청이 실행되는 취약점입니다.=> 자동 회원가입=> 게시판 자동 글쓰기=> 광고 배너 클릭 예시패스워드 변경요청 changePwForm.jspNew Pw: _______New Pw: _______[change] 패스워드 변경처리 changePwProc.jsp?newpw=(1) 인증(로그인) 여부 확인(2) 처리에 필요한 값 중 사용자가 결정해야 할 값이 전달되었는지 확인(newpw)(3) 처리에 필요한 값 중 시스템이 가지고 있는 값을 추출 -> ..
WebGoat(웹고트) Thread Safety Problems (1) Window xp에서 http://victim:8080/WebGoat/attack 사이트로 이동하여 목록에서 Thread Safety Problems을 찾아 이동합니다. (webgoat / webgoat) (2) 브라우저 2개를 띄워서 하나는 jeff, 하나는 dave를 Submit 합니다.=> jeff를 입력하면 jeff의 데이터가 출력되고, dave를 입력하면 dave의 데이터가 출력됩니다.(당연) (3) 브라우저 2개를 띄워서 하나는 jeff, 하나는 dave를 Submit 합니다.dave를 제출하고, 바로 jeff를 제출합니다. 그러면 둘 다 jeff가 출력됨을 확인할 수 있습니다. 이 문제의 취약점=> 이름을 입력하고 Sub..
SQL Injection Injection(삽입)은 외부 입력값을 내부처리에 사용하는 경우, 외부 입력값 처리를 조작하는 문자열 포함 여부를 확인하지 않고 사용하는 경우 또는 원래 의도했던 처리가 변경되어 수행되는 것을 의미합니다. => 처리가 쿼리문을 만들고 실행하는 처리 : SQL Injection => XPath 또는 XQuery 구문을 이용해서 xml 문서를 조작하는 처리 : XPath 삽입, XQuery 삽입 => LDAP 서버에 쿼리를 실행하는 처리 : LDAP 삽입 => 운영체제 명령어를 실행하는 처리 : Command Injection(운영체제 명령어 삽입) Injection(삽입) 취약점을 방어하기 위해 입력값을 검증 및 제한하여 외부에서 전달되는 값에 처리를 조작하는 문자열 포함여부를 ..
WebGoat(웹고트) LAB: Role Based Access Control Stage 4 : Add Data Layer Access Control 이전 포스트에 이어서 작성하였습니다. [보안 취약점 진단 및 대응/WebGoat] - WebGoat(웹고트) LAB: Role Based Access Control Stage3 WebGoat(웹고트) LAB: Role Based Access Control Stage3 WebGoat(웹고트) LAB: Role Based Access Control Stage 3 : Breaking Data Layer Access Control 이전 포스트에 이어서 작성하였습니다. [보안 취약점 진단 및 대응/WebGoat] - WebGoat(웹고트) LAB: Role Base..
WebGoat(웹고트) LAB: Role Based Access Control Stage 3 : Breaking Data Layer Access Control 이전 포스트에 이어서 작성하였습니다. [보안 취약점 진단 및 대응/WebGoat] - WebGoat(웹고트) LAB: Role Based Access Control Stage2 WebGoat(웹고트) LAB: Role Based Access Control Stage2 WebGoat(웹고트) LAB: Role Based Access Control Stage 2 : Add Data Layer Access Control 이전 포스트에 이어서 작성하였습니다. [보안 취약점 진단 및 대응/취약점] - WebGoat(웹고트) LAB: Role Based Ac..
WebGoat(웹고트) LAB: Role Based Access Control Stage 2 : Add Data Layer Access Control 이전 포스트에 이어서 작성하였습니다. [보안 취약점 진단 및 대응/취약점] - WebGoat(웹고트) LAB: Role Based Access Control Stage1 WebGoat(웹고트) LAB: Role Based Access Control Stage1 WebGoat(웹고트) LAB: Role Based Access Control Stage 1 : Bypass Presentational Layer Access Control (1) Window xp에서 http://victim:8080/WebGoat/attack 사이트로 이동하여 목록에서 LAB: R..
WebGoat(웹고트) LAB: Role Based Access Control Stage 1 : Bypass Presentational Layer Access Control (1) Window xp에서 http://victim:8080/WebGoat/attack 사이트로 이동하여 목록에서 LAB: Role Based Access Control - Stage1을 찾아 이동합니다. (webgoat / webgoat) (2) Tom Cat으로 로그인합니다. (비밀번호: tom) (3) Jerry Mouse로 로그인합니다. (비밀번호: jerry) => Tom은 employee라는 그룹에 속해있고, Jerry는 hr이라는 그룹에 속해있습니다. => 역할에 따라 할 수 있는 업무(기능)가 달라집니다. => Tom..
openeg sqlmap 공격 (1) Kali Linux에서 http://victim:8080/openeg사이트로 이동하여 로그인 합니다. 아이디 : admin' # 패스워드 : 1234 => 관리자로 로그인됩니다. => 해당 사이트의 로그인 페이지는 SQL Injection 취약점이 존재합니다. (2) Kali Linux에서 sqlmap을 설치합니다. $ sudo apt update $ sudo apt install sqlmap -y (3) sqlmap을 사용하여 공격을 시도합니다. (3)-1 $ sqlmap -u http://victim:8080/openeg/login.do -u는 공격할 타겟 주소를 주기 위해 사용합니다. -u 뒤에는 취약한 페이지 주소를 넣습니다. 옵션은 Default로 enter..