XSS와 CSRF는 어떻게 다릅니까?

2763 단어 HTMLJavaScriptcsrfxss

XSS 및 CSRF


안전한 상하문XSS (cross site scripting)CSRF (cross-site request forgeries)가 아무렇게나 나타날 것 같지만 이름도 비슷하고 나쁜 스크립트만 끼워넣는 것만 이해합니다. 명확한 차이를 모르기 때문에 이 기회에 정리했습니다.

XSS란 무엇입니까?


XSS는 한마디로 ユーザー(被害者)の Web ブラウザで任意の JavaScript を実行させることを許す脆弱性または攻撃手法입니다.
그나저나 약칭은 CSS 이 아니라 XSS Cascading Style Seets를 끼고 있어서 귀찮아요.

XSS를 실행하려면


피해자의 브라우저에서 JavaScript를 실행하는 방법
  • 공격자가 취약한 웹 응용 프로그램을 찾았습니다.

  • 불법 스크립트를 포함하는 함정을 준비하세요.
  • SNS/메일 등을 통해 사용자(피해자)에게 함정에 빠지도록 유도하기 위한 URL을 배포합니다.
  • 함정에 빠진 사용자가 URL을 액세스하고 취약한 웹 응용 프로그램에 액세스합니다.
  • 웹 응용 프로그램에서 불법 스크립트가 포함된 웹 페이지를 반환합니다.
  • 사용자의 웹 브라우저에서 불법 스크립트를 실행합니다.
  • 에서 설명한 대로 해당 매개변수의 값을 수정합니다.
    그 결과 쿠키와 기밀 정보가 뽑히고 가짜 정보가 사회 신용을 떨어뜨리는 등 다양한 일이 벌어졌다.

    XSS를 방지하려면

    1. 攻撃者が脆弱性のある Web アプリケーションを見つける。 를 썼지만 HTML을 생성할 때 특수 문자를 바꾸지 않는 것이 XSS를 실현하는 한 원인이다.
    예를 들어 입력 폼에 검색 조건을 입력하여 서버에서 검색 결과를 되돌려 주는 서비스를 표시하는 경우 < 또는 > 를 바꾸지 않고 직접 입력할 수 있음<form method="POST" ...> 브라우저가 입력한 정보를 다른 서버로 날아가는 폼을 렌더링할 수 있다는 느낌
    따라서 대책으로 HTML의 특수한 문자의 전의가 매우 중요하다.

    CSRF


    다음은 CSRF입니다.한마디로 CSRF正規ユーザを誘導し、強制的に特定の処理を実行させる攻撃を許す脆弱性または攻撃手法를 나타냅니다.forgeries/forgery잘 안 물어봐...偽造의 뜻입니다.(사이트 간 위조 요청

    CSRF를 구현하려면


    어떻게 특정한 처리를 강제로 집행합니까
  • 사용자별 웹 서비스 로그인
  • 공격자가 준비한 트랩 페이지에 대한 사용자 액세스
  • 트랩 페이지에서 웹 서비스에 공격 코드 보내기
  • 사용자가 로그인을 완료하여 웹 서비스로 요청이 전송됨
  • 강제집행特定の処理, 예를 들어 우편구매 사이트商品の不正な購入, 게시판 서비스不正な書き込み의 느낌

    CSRF를 방지하는 방법


    CSRF는 정상적으로 로그인하기 때문에 서버에서 불법 요청 여부를 판단하기 어려운 방법이라고 할 수 있습니다.
    따라서 대책コメント投稿、商品購入、退会といった副作用が発生する画面の実行時に、想定通りの画面遷移が行われたかどうかを確認する 등으로 완비되지 않은 회화 관리가 중요하다.
    또한 사전에 서버에서 사용자에게 영패副作用が発生する画面の実行時にトークンが正しいか確認する를 전달하는 것도 유효하다.

    총결산


    XSS

  • 사용자의 웹 브라우저에서 불법 스크립트를 실행합니다.
  • 받은 손해는 기밀정보 빼내기, 가짜정보 표시, 사회신용 저하 등
  • 대책으로 HTML의 특수 문자의 전의가 유효하다
  • CSRF

  • 웹 서버에서 불법 스크립트를 실행합니다.
  • 피해는통신판매사이트라면불법구매,게시판서비스라면불법작성등
  • 대책으로 부작용이 발생한 화면을 실행할 때 예상되는 화면 이동이 있었는지 확인한다.또는 미리 전달된 영패가 정확한지 확인하는 것이 유효하다
  • 좋은 웹페이지 즐겨찾기