Study 185

CSRF(Cross Site Request Forgery)

CSRF란? 사이트간 요청 위조 웹 애플리케이션 취약점 중 하나 사용자가 자신의 의지와 무관하게 공격자가 의도한 행동을 하여 특정 웹페이지를 보안에 취약하게 한다거나 수정, 삭제 등의 작업을 하게 만드는 공격방법 패스워드 변경, 게시글 작성, 삭제 등의 작업을 할 수 있음 공격자는 게시판에 CSRF 스크립트가 포함된 게시글을 등록 관리자나 사용자가 해당 게시글을 열람 관리자나 사용자의 권한으로 CSRF 스크립트 요청이 발생하며 공격을 당함 메일 전송으로도 가능 사용자가 웹 사이트에 로그인한 상태에서 CSRF가 삽입된 페이지를 열면, 웹 사이트는 위조된 공격 명령이 믿을 수 있는 사용자로부터 발송된 것으로 판단하게 되어 공격에 노출 XSS와 CSRF 비슷한 점: 클라이언트, 스크립트 언어를 이용함 차이점 ..

Study/Web 2021.06.13

[DVWA] DOM Based XSS

DOM based XSS Low view source) Step 1) 아무 값이나 입력 url의 내용을 추출한 뒤 decode하여 html에 write Step 2) url에 스크립트 구문 삽입 Step 3) 스크립트 구문으로 인식된 것을 확인 Medium view source) stripos()를 통해 필터링 *stripos(): 대상 문자열을 앞에서부터 검색하여 찾고자 하는 문자열이 몇 번째 위치에 있는지를 리턴하는 함수 Step 1) 이미지 태그를 사용 Step 2) 스크립트 구문으로 인식된 것을 확인 를 꼭 해줘야 함 -> 코드를 보면 앞에 가 열려있다. 안에 이미지 태그가 들어갈 수 없기에 닫아준 다음에 삽입 High view source) switch문을 통해 case에 있는 값만 받아주는 방..

Study/Web 2021.06.13

[DVWA] Stored XSS

Stored XSS Low view source) *stripslashes(): 백슬래시를 제거 *mysqli_real_escape_string(): 특수문자 이스케이프 XSS를 막기 위한 코드는 보이지 않음 Step 1-1)Name에 스크립트 구문 삽입 Step 1-2) 스크립트 구문으로 인식된 것을 확인 Step 2-1) Message에 스크립트 구문 삽입 Step 2-2) 스크립트 구문으로 인식된 것을 확인 Medium view source) message에서 strip_tags()와 htmlspecialchars()를 통해 태그를 필터링 name에서는 str_replace()를 통해 ''를 공백으로 필터링 Step 1) 스크립트 태그안에 태그를 넣어 필터링을 우회 Step 2) 스크립트 구문으로 ..

Study/Web 2021.06.13

[DVWA] Reflected XSS

Reflected XSS Low Step 1) 입력 폼에 스크립트 구문 삽입 Step 2) 스크립트 구문으로 인식된 것을 확인 view source) Get방식으로 name의 값을 받아 그대로 전달 Medium view source) str_replace 함수를 통해 ''를 공백처리 Step 1) 대소문자를 섞어 필터링을 우회 Step 2) 스크립트 구문으로 인식된 것을 확인 High view source) preg_replace 함수를 통해 필터링 (*str_replcae와 preg_replace의 다른 점은? preg_replace는 정규표현식을 사용!) i옵션 -> 대소문자를 구별하지 않음 . -> 줄바꿈 문자 외에 모든 문자와 매치됨 * -> 반복

Study/Web 2021.06.13

XSS(Cross Site Scripting)

XSS란? cross site scripting의 약자 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법 클라이언트를 대상으로 한 공격 사용자의 정보(쿠키, 세션, 토큰 등) 탈취 크게 세가지로 분류: reflected xss, stored xss, dom based xss Reflected XSS 반사형 크로스 사이트 스크립팅 사용자에게 입력 받은 값을 서버에서 되돌려 주는 곳에서 발생 공격자가 악의적인 스크립트를 삽입한 URL 생성 사용자에게 해당 URL을 누르도록 유도 URL을 누른 사용자는 악의적인 스크립트의 실행으로 공격을 당함 Stored XSS 웹 서버에 저장되었다가 실행이 되는 스크립트 공격 공격자가 웹 애플리케이션에서 xss 취약점이 있는 곳을 파악 악성스크립트 삽입 -> DB에..

Study/Web 2021.06.13