ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Browser Security] XSS, CSRF
    카테고리 없음 2020. 2. 26. 00:15

     

    * XSS (Cross-Site Scripting)

    사용자가 입력한 정보를 출력할 때, 스크립트가 실행되도록 하는 공격 방식이다. 사용자의 사적인 데이터, 이를테면 로그인 시 쿠키정보 등을 공격자의 사이트로 전송한다거나 사용자가 의도하지 않은 행동들을 하도록 한다. 

     

     

     

     

    예를 들어 사용자1이 인터넷 게시판에 글을 쓰면, 해당 내용은 서버로 전송되고 서버의 DB에 저장된다. 그리고 사용자2가 서버를 통해 해당 글 내용을 전송받는다.

     

     

     

     

    공격자는 게시판에 글이 아니라 스크립트를 심어놓는다. 스크립트는 서버로 전송되고, DB에 저장된다. 그리고 피해자가 서버를 통해 해당 게시글을 열면 피해자의 브라우저에서 공격자가 심어놓은 스크립트가 실행된다. 스크립트 내에는 브라우저 내 쿠키에 저장된 피해자의 개인정보를 공격자의 서버로 GET 하는 명령 등이 들어갈 수 있는 것이다. 

    예를 들어, 공격자가 회원을 가장해 쇼핑몰 게시판에 '환불 원함' 이라는 글을 포스팅하면서 그 안에 악성 스크립트를 넣을 수 있다. 순진한 관리자(피해자)가 게시글을 확인하는 순간 악성 스크립트가 실행되며 관리자가 원하지 않는 명령이 실행된다. 

     

    요약 : (클라이언트) 서버에서 보내 주는 정보는 다 맞겠거니 했더니!

     

     

    *CSRF (Cross Site Request Forgery)
    권한을 도용당한 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 요청하게 만드는 공격.

     

    예를 들어, 사용자가 은행 사이트에 로그인을 하면 사이트에서는 세션 토큰을 준다.

    공격자는 무해한 것처럼 보이지만 사실은 은행과 연결되어 있는 유해한 링크를 사용자에게 보낸다. 사용자가 링크를 클릭하는 순간, 해당 링크는 이전에 세팅된 세션 토큰을 사용할 수 있게 된다. 이 시점부터 공격자는 마치 사용자인 양 은행에 요청을 보낼 수 있게 되는 것이다. 은행 입장에서는 인증된 세션 토큰을 사용해 들어온 요청이므로 공격자의 요청을 수락하게 된다. 

     

     

    요약 : (서버) 인증정보가 맞으면 다 클라이언트겠거니 했더니!

     

    * Reference :

    - 생활코딩 (https://www.youtube.com/watch?v=jDLEPSyfvkc),

    - 코드없는 프로그래밍(https://www.youtube.com/watch?v=LfI6TAchgT4),

    - SC(https://www.youtube.com/watch?v=r2jfutjg2WE

    - MITM Man in the MIddle (https://www.youtube.com/watch?v=Yi5v29QJVnM)

    - CyberShaolin (https://www.youtube.com/watch?v=m0EHlfTgGUU)

    - [Hello World] 개발자 창고입니다 (https://12teamtoday.tistory.com/10)

     

     

    댓글