본문 바로가기
반응형

XSS3

XSS와 lucy xss Sax filter XSS란? Cross-site Scripting 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법 공격에 성공하면 사이트에 접속한 사용자는 삽입된 코드를 실행하게 되며, 보통 의도치 않은 행동을 수행시키거나 쿠키나 세션 토큰 등의 민감한 정보를 탈취 자바스크립트를 사용하여 공격하는 경우가 많음 Text-Only 게시판 등에서는 XSS가 발생하는 경우는 없다 Stored XSS 사이트 게시판이나 댓글, 닉네임 등 스크립트가 서버에 저장되어 실행되는 방식 Reflected XSS URL 파라미터(특히 GET방식)에 스크립트를 넣어 서버에 저장하지 않고 그 즉시 스크립트를 만드는 방식 브라우저 자체에서 차단하는 경우가 많아 상대적으로 공격을 성공시키기 어려움 방어 방법 XSS는 데이터를 입출력 할 때.. 2024. 1. 19.
크로스 사이트 스크립트 공격 취약점: DOM - 외부에서 입력되는 스크립트 문자열이 웹페이지 생성에 사용되면 생성된 웹페이지를 열람하는 사용자에게 피해를 입힐 수 있다. - JSP의 document.write()메소드와 같이 JSP의 DOM 객체 출력을 수행하는 메소드의 인자값으로 외부의 입력을 사용할 경우 위험한 문자를 제거하는 과정이 수행되어야 한다. 1. 특수 문자 치환 String name = request.getParameter("name"); if( name != null ) { name = name.replaceAll("",">"); name = name.replaceAll("&","&"); name = name.replaceAll("\"","""); name = name.replaceAll("\'","'"); name = n.. 2022. 11. 18.
크로스 사이트 스크립트 웹 페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되게 유도하여 공격 - 사용자가 입력한 문자열에서 , &, "," 등을 replace등의 문자 변환 함수나 메소드를 사용하여 &lt, &gt, &amp, &quot로 치환 - HTML 태그를 허용하는 게시판에서는 게시판에서 지원하는 HTML 태그의 리스트(White List)를 선정한 후, 해당 태그만 허용하는 방식 적용 - 보안성이 검증되어 있는 API를 사용하여 위험한 문자열 제거 예제 1 안전하지 않은 코드 ▼ Name : 외부로 받은 name을 그대로 출력하므로 안전하지 않다. 안전한 코드 ▼ replaceAll 사용 2022. 11. 11.
반응형