1. xss
공격자의 Javascript 코드를 입력해놓으면 실제 사용자가 동적인 웹 페이지를 클릭하거나 열람할 때 페이지에 의도하지 않은 악성 스크립트가 실행되는 공격 방식 중 하나
게시판 글 작성시 script를 작성하면 , 저 글이 열리면 alert 가 5만번 작동해서 사이트 고장
=> 네이버 제공 오픈소스 : lucy 필터 등으로 스크립트 작성 못하게 거를 수 있음
2.csrf 공격
CSRF란 사이트 간 요청 위조 (Cross-site request forgery)의 줄임말로 사용자가 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하는 공격을 의미.
차이점:
XSS 공격은 javascript로 클라이언트에서 발생.
CSRF 공격은 서버로의 공격.
하이퍼 링크 속에 관리자만 접속할 수 있는 링크를 넣어서, 저 이미지 클릭시 a href 링크로 연결되어, 정보를 빼갈 수 있음
막는방법
1.요청을 post 방식으로 하게끔 만들면 됨 .하이퍼링크로 공격하는 걸 막을 수 있음 (하이퍼링크는 무조건 get방식)
2.referrer검증
request header에 있는 요청을 한 페이지의 정보가 담긴 referrer 속성 검증하여 차단
, 같은 도메인상에서 들어온 요청이 아니면 차단됨. 근데 이것도 조작 가능
3. csrf토큰 사용:
로그인한 유저에게 토큰이 발급되어, 요청보낼 때 토큰도 반드시 보내야만 요청을 실행시킬 수 있도록하는 방식
스프링 시큐리티가 이걸 해준다.
좋은기능이지만
우리는 form태그 요청으로 보낸 것이 아니라 스크립트로 데이터를 보냈기 때문에, 테스트 중 시큐리티에 의해 막힐 수 있음
그래서 스프링 시큐리티 config 파일에 csrf().disable()을 건 것!
'편안한코딩생활 > 기타등등' 카테고리의 다른 글
@Builder 패턴이 뭔데? (0) | 2023.07.25 |
---|---|
http 1.1 체험하기 (0) | 2023.07.25 |
깃 레포지토리 하나에 여러 프로젝트 올리기 코드 백업~ (0) | 2023.07.14 |