전체 글 (157) 썸네일형 리스트형 Basic Script Prac 1. XSS 포인트 확인XSS가 발생한다는 마이페이지에 접속 시,user 파라미터에 사용자의 ID가 넘어가는 모습을 볼 수 있다.user 파라미터 변경 시,파라미터 데이터가 사용자의 개인정보를 출력해 주는 곳에 찍히는 것을 볼 수 있다.(* Reflected XSS 포인트 발견)2. 사용 가능한 HTML 특수문자 체크user 파라미터에 특수문자(, ", ')를 삽입해 보니,응답에서 모든 특수문자가 HTML Entity로 치환되지 않는 모습을 볼 수 있다.3. 스크립트 삽입xss" autofocus onfocus="alert(1)"/>user 파라미터에 스크립트를 삽입하고http://ctf.segfaulthub.com:4343/scriptBasic/mypage.php?user=xss"+autofocus+o.. DOM 객체 접근(with JavaScript) 1. documentdocumentJavaScript 에서 HTML 페이지(페이지 소스)에 접근할 때, document 객체 사용2. getElementBydocument.getElementById();document.getElementsByName();document.getElementsByClassName();더보기class 속성 값과 name 속성 값은 식별자가 여러 객체를 식별할 수 있기 때문에 "getElements" 라고 표현하고 있는 것을 볼 수 있다.때문에 class와 name 식별 값으로 DOM 객체에 접근하려면document.getElementsByClassName('value')[0]위와 같이 몇 번째 객체인지 인덱스를 적어주어야 객체를 식별할 수 있다. 이와 반대로 id 속성 값은 .. Useful JavaScript 1. Page Redirect새로운 페이지로 이동한다.뒤로가기 가능 (이전 페이지 이동 가능)기존 페이지를 새로운 페이지로 변경시킨다. (현재 페이지를 새로운 페이지로 덮어 씌우기)뒤로가기 불가능 (이전 페이지 이동 불가능) 2. 주소창 변조더보기Reflected XSS 페이로드가 주소창에서 너무 길고 사용자에게 의심 받을 것 같을 때,정상적인 URL 주소처럼 나타낼 수 있다. [*] 도메인은 변경하지 못하지만 경로는 변조할 수 있음 XSS Sheet 1. 글자 길이 제한 우회 XSS 정리 XSS 란?클라이언트 측 공격 (피해자 : 클라이언트)클라이언트 측 스크립트(HTML, CSS Javascript)를 삽입해서, 피해자의 웹 브라우저에 실행되게 만드는 공격1. Stored XSS사용자가 입력한 파라미터 데이터가데이터가 저장(삽입)되고, 출력되는 곳 (ex: 게시판 글 작성)데이터가 저장되는 곳과 출력되는 곳이 다를 수 있음서버에 흔적이 남음2. Reflected XSS사용자가 요청(입력)한 파라미터 데이터가, 서버 응답에 포함(삽입)되어 오는 곳데이터가 삽입되는 곳과 출력되는 곳이 같음 (ex : ID 중복 체크)링크 전달 공격GET 메서드 동작공격 흔적이 남지 않음공격 피해자를 지정할 수 있음3. DOM Based XSS요청한 파라미터 데이터가 화면에 출력됨요청한 파라미터 데이터가 .. XSS Challenge 1. XSS 포인트취약점 경로 : http://ctf.segfaulthub.com:4343/xss_4/notice_list.php취약 파라미터 : board_result게시글을 검색할 수 있는 페이지에서검색 결과가 없는 검색어 입력 시,사용자 입력 값을 그대로 화면에 출력하는 모습을 볼 수 있다.(* XSS 포인트 확인)검색 응답에 test 라는 문자열은 확인되지 않지만,사용자가 검색어로 입력한 board_result 파라미터 값을 가져와자바스크립트로 브라우저에서 document.write 함수를 이용해 출력하는 모습을 볼 수 있다.2. 스크립트 분석document.write 함수는안에 들어가는 내용이 클라이언트 측 코드(HTML, JavaScript)를 포함하고 있으면해당 코드를 실행하므로keyword.. DOM Based XSS XSS 란?클라이언트 측 공격 (피해자 : 이용자)클라이언트 측 스크립트(HTML, CSS Javascript)를 삽입해서, 피해자의 웹 브라우저에 실행되게 만드는 공격DOM Based XSS 특징요청한 파라미터 데이터가 화면에 출력됨요청한 파라미터 데이터가 서버 응답에 포함되지 않음사용자 입력 값을 이용해 Javascript 코드로 DOM(Document Object Model) 객체(html 태그 ex: )를 만드는 장소에서 발생함DOM Based XSS 키워드document.write = "";innerHTMLURL Fragment(#) 사용 장소더보기URL Fragmenthttps://xss-game.appspot.com/level3/frame#1# 이후 데이터는 서버에 전달되지 않음하지만 브라.. XSS 6 1. XSS 포인트제공된 호스트의 로그인 페이지인 "xss_7/login.html" 페이지에서"/xss_7/login.php" 페이지에 요청을 보낼 때,id 파라미터에 기존에 존재하는 ID의 비밀번호를 틀렸거나,없는 ID로 로그인을 시도하면id 파라미터에 입력된 데이터가 알림창에 그대로 출력되는 모습을 볼 수 있다.같은 로그인을 요청을 GET 요청으로 바꾸어 시도해 보니,post 요청과 같은 응답을 받을 수 있었다.(* Reflected XSS 포인트 확인)2. 특수문자 필터링 확인하기XSS 공격에 사용할 수 있는 특수문자를 확인해 보니,입력한 모든 특수문자가 필터링되지 않는 모습을 볼 수 있다.3. 스크립트 삽입id 파라미터를 이용해alert 구문을 닫고, 이후 출력되는 문자열을 주석 처리했다.해당 U.. 이전 1 ··· 5 6 7 8 9 10 11 ··· 20 다음