Browser Security


ブラウザが脅かされています。


根本的な原因は?
(理由はいろいろありますが)
JavaScriptを駆動するので
それはなぜですか.JavaScriptに問題がありますか?
JavaScriptで作れるものがたくさんあるから!
  • ajax call
  • 動的DOM
  • 認証をブラウザに保存します(session?...)
  • 認証.Authentication
  • どんな攻撃が起こるのか.

    典型的な攻撃


    XSS


    これは、クライアントがサーバを信頼していることによるホットスポットです.
    サーバにメールを要求する->メール応答->メールDOMへの返信
    
    {
      name:"hacker101",
      text:"<script>alert('브라우저가 해킹 당했습니다.')</script>"
    }
    
    InnerHTMLを使うと問題になります.
    TextContentを書くのは問題ありません.
    もちろん、他の致命的なコードを追加すると、問題が大きくなる可能性があります.

    CSRF


    逆に、これはサーバがクライアントを信頼しているための問題です.
    サーバが認証情報を持ってくると信じられます.
    この人を信用しているので、この人に私を傷つける行為には規定がありません.
    ユーザーはハッカーのリンクをクリックするだけで、認証情報を取得できます.
    ハッカーは認証情報をキャプチャし、サーバに要求を送信します.
    実際のユーザーのリクエストではないにもかかわらず、ハッカーは情報を得ることができます.
    学習認証は分かりやすい.
    xssとcsrfを阻止するにはどうすればいいですか?
    ブラウザの基本的なxss攻撃はブロックされています.

    Browser secury model


    CORS?


    Crossoriginリソース共有
    Cross-Origin Resource Sharing
    交差するアヒルの陣資源を共有する.
    SOP = same origin policy
    同じドメインからの(origin)ポリシーがベースです.
    ただ時間が経つにつれて、開発者たちは自分のページに他のサーバーのデータを表示したいと思っています.
    だから例外を作った.
    それは.
    CORSです.
    簡単なお願いがある
    使用するには、さまざまな条件を同時に満たす必要があります.
    preflightddrequsetがあります.
    早めに離陸(飛行機を送るように)
    先に載せておきましょうリクエスト

    CSS XSS


    crosssite scriptingの意味
    cssと私たちが使っているcssがxssに重なったというエピソードがあります.
    本当かどうか分からない.
    不純な人(ハッカー)をサーバーに植え込む人がいます
    被害者はサーバからJSを受信して実行します.
    災いをこうむる