수업

12/19

진태현 2023. 12. 19. 10:37

DOM Based XSS 공격 

 

XSS 취약점 게시판 

- 스크립트 작성 확인 <script> alert('xss') </script>

xss 취약점 확인

- beef-xss 실행 > 로컬 주소로 접속

ex) 감염된 PC의 쿠키 값 탈취 

ex) 리다이렉트로 강제 주소 접속 

ex) 페이지 소스로 가짜 홈페이지

 

beEF 대응방안

- 게시물 페이지의 스크립트 허용하지 않게 해야 함 

- 텍스트가 출력되도록 

- lucy filter 적용 

lucy 적용 후 스크립트 출력

- JSTL <c:out>을 이용 

  <a href="view.do?idx=${board.idx}"><c:out value="${board.subject}" /></a></td>

제목 스크립트 구문 출력


실습 

해당 서비스에 취약점 존재 여부를 확인하고, 취약점을 찾는 방법,

취약점 유형 및 판단 근거, 대응 방안(안전한 코드 예시)에 기술해 보세요.

 

취약점 존재 여부 : XSS(크로스 사이트 스크립트) 취약점 존재

취약점 찾는 방법 : html 태그, script 입력 시 동작

html태그 동작

 

 

취약점 유형 및 판단 근거:

- 입력 받은 html 문장이 필터링되지 않아 동작하는 것을 확인

html 동작하는 것을 보고 XSS 취약점 판단

**악의적인 스크립트 삽입 가능

 

대응방안: 이스케이프 함수를 사용합니다. 입력된 데이터는 html, script로 해석되지 않고, 일반 텍스트로 표시됩니다. 

echo "Welcome " . htmlspecialchars(xss($firstname)) . " " . htmlspecialchars(xss($lastname));

적용 화면

***functions_externals.php 내장함수 활용 

 


XSS?  스크립트 코드가 개발자가 만든 코드인지, 제 3자가 만든 코드인지 구분되야 함 

 

CSP 

- content security policy(컨텐츠 보안 정책)

- 정 유형의 공격, 특히 Cross-Site Scripting (XSS) 공격을 방지하기 위한 보안 기술

SOP

- 다른 출처에서 로드된 문서나 스크립트가 현재 문서의 정보에 접근하는 것을 제한하는 규칙

- 동일 출처 정책 

CORS

- SOP의 일부로, 다른 출처의 웹 페이지에서 리소스를 요청할 때 브라우저가 요청을 허용하는 메커니즘을 정의

'수업' 카테고리의 다른 글

12/21  (0) 2023.12.21
12/20  (0) 2023.12.20
12/18  (0) 2023.12.18
12/15  (0) 2023.12.15
12/14  (0) 2023.12.14