반응형
저번 시간: 오염된 정보가 들어오는 문제
이번 시간: 오염된 정보가 나가는 문제
목표
태그를 그대로 표현하여 문제 해결하기
(1) 문제 예시 1
XSS로 들어갈 때마다 경고창이 뜬다. 이를 page view source로 보면
script 태그가 들어가 있기 때문에 발생한다.
즉, 공격자가 자바스크립트 코드를 심어놓으면 방문자가 메롱 알림창을 보게 된다.
(2) 문제 예시 2
이를 제출하게 되면 입력한 웹 브라우저로 이동하게 된다.
이 외에 사용자의 로그인 정보를 갈취한다던지, ...
많은 온라인 서비스들이 사용자들에게서부터 입력받은 정보를 바깥으로 출력할 때는 정보에서 문제가 될 수 있는 것들을 필터링하는 작업이 필요하다.
해결 방법
1. 사용자가 입력한 <script>태그를 지운다.
2. <script>태그를 웹 브라우저 상에 그대로 표시해준다. <-이걸 해보자!
Google에 HTML entities 검색해본다.
< 를 입력하면 <를, >를 입력하면 >를 그대로 표현해준다. 따라서 코드를 아래와 같이 바꿔보자.
// XSS.js
<script>
location.href = "https://opentutorials.org/course/1';
</script>
짜잔. 그대로 출력된다.
반응형
'Back-End > Node.js' 카테고리의 다른 글
Node.js.47.3.App제작-출력정보에 대한 보안 (0) | 2020.09.03 |
---|---|
Node.js.47.2.App제작-출력정보에 대한 보안 (0) | 2020.09.03 |
Node.js.46.App 제작-입력정보에 대한 보안 (0) | 2020.09.03 |
Node.js.45.App 제작 - 모듈의 활용 (0) | 2020.09.02 |
Node.js.44.Node.js 모듈의형식 (0) | 2020.09.02 |