공격자가 서버를 직접 공격하는 것이 아님
해당 서버의 웹사이트를 통하여 불특정 다수의 사용자를 공격
크로스 사이트 스크립팅
(Cross-site scripting)
웹페이지에 script를 포함시켜 해당 페이지를 접속하는 사용자가 script를 실행하도록 함
이 때, 불특정 다수의 사용자가 관리자가 될 수도 있음
script가 실행되는 만큼 모든 게 가능함
브라우저 세션 쿠키(document.cookie)를 이용하여 사용자의 정보를 탈취할 수도 있음
script 구문이 실행되지 않도록 한다.
& < > " ' / ( ) 등을 &... 형식으로 치환
DB에 해당 script 데이터가 들어가는 것을 막는 것이 좋지만
데이터를 DB로부터 불러올 때
jst로 막는 것이 효율적
크로스 사이트 요청 위조
(Cross-site request forgery)
script를 통해 사용자가 본인의 의지와는 관련없는 행동을 수행하도록 함
해당 사용자의 권한으로 할 수 있는 것들을 하게 할 수 있음
보통 관리자를 타겟으로 공격
수행하게 되는 동작이 정상 동작이므로 공격 여부 자체를 파악하기 어려움
enum type으로 사용할 수 있는 명령어를 제한하고 위변조 검사를 한다.
xss script 삽입 모음
xxs 공격이 유효한지 검사
입력 input은 무서운 존재다
클라이언트와 서버 모두 필터링해야 한다.
『소프트웨어 개발보안 가이드』, 행정안전부, 한국인터넷진흥원, 2021.