現在、情報ネットワークの発展に伴い、情報セキュリティに対する人々の意識は日に日に高まっており、情報システムのセキュリティ保護対策も徐々に強化されており、通常、サーバーのインターネット境界にはファイアウォールが設置され、サーバーを隔離しています。内部ネットワークと外部ネットワーク、外部ニーズのみサーバー ポートが公開されます。この対策を採用することで、情報システムのセキュリティレベルを大幅に向上させることができ、外部の攻撃者にとっては、無関係なチャネルをすべて閉じて、必要な入り口だけを残すようなものです。
しかし、この状態でも、避けられない一種のセキュリティ問題が依然として存在します。それが、Web 脆弱性です。その理由は、プログラムの作成時にユーザーの入力文字が厳密にフィルタリングされていないため、ハッカーが自らの目的を達成するために悪意のある文字列を慎重に構築できるためです。
では、そのようなセキュリティ上の問題があるかどうかを確認するにはどうすればよいでしょうか?以下に、比較的単純な侵入テクニックをいくつか挙げます。
ユーザーが制御可能で、ページ コード内で出力できる場所をすべて見つけてみてください。たとえば、次のような場所です。 URL の各パラメータ、URL 自体、フォームと検索ボックスの一般的なシナリオ (コメント領域、メッセージ領域、個人情報、注文情報、検索ボックス、現在のディレクトリ、画像属性などを含む)、コード <script>alert(hello) を入力します。 )</script> 。下の図に示されている場合は、システムがクロスサイト スクリプティング攻撃の対象になっている可能性があることに注意してください。
クロスサイト スクリプティング攻撃 XSS 悪意のある攻撃者は、Web ページに悪意のあるスクリプト コードを挿入し、ユーザーがページを閲覧すると、Web に埋め込まれたスクリプト コードが実行されます。ユーザーを悪意を持って攻撃する目的を達成するため。
XSS 攻撃はユーザーレベルの攻撃を目的としています。保存されたXSS、永続化、個人情報や公開記事へのコード挿入などのコードがサーバーに保存されます。フィルタリングがないか、フィルタリングが厳密でない場合、これらのコードはサーバーに保存され、ユーザーがページにアクセスすると、コードの実行がトリガーされます。この種類の XSS はより危険であり、ワームや Cookie の盗難などを簡単に引き起こす可能性があります。
[対象となる SQL ステートメント: $sql="select*from admin where id=".$id;]
通常の訪問: www.linuxtest.com/test2.php?id=1
注入ポイントを見つけます:
1. www.linuxtest/test2.php?id=1 への異常なアクセス、結果 異常なページに戻った場合は、注入ノードがある可能性があることを示します。以下の検証を続けてください。
2. www.linuxtest/test2.php?id=1 および 1=1 に異常アクセスを続けると、結果は通常のページに戻ります。
3. www.linuxtest/test2.php?id=1 および 1=2 への異常なアクセスを継続します。その結果、異常なページが返され、インジェクション ノードが返されます。id= の直後に攻撃 SQL ステートメントを追加できます。 1.
[その他の SQL1 ステートメント: $sql="select*from admin where id=$id";]
上記と同じ
[その他の SQL2 ステートメント: $sql= "select*from admin where id='{$id}'";]
現時点では注入ポイントがありますが、対応する攻撃 SQL を挿入するには一重引用符を削除する必要があります。方法は次のとおりです。
削除するには (および '=) を追加します。例: test2.php?id=1' Union select 1,2,3 および '=; 結果の SQL は次のようになります: select*from admin where id=' 1' Union select 1 ,2,3 and '='
Increase (and "=')、(union select 1,2,'3) など
システムが異なるため被害は環境によって異なりますが、これは主にデータベースにアクセスするためのアプリケーションのセキュリティ権限によって決まります。ユーザーのアカウントが管理者またはその他のより高いレベルの権限を持っている場合、攻撃者は、データベースに対して実行したいさまざまな操作を実行する可能性があります。データの追加、削除、更新を含むデータベース テーブル、さらにはテーブルを直接削除することもできます。
上記は直接手動操作であり、以下は burp_suite ツールの侵入を確認することになります。
リクエストを開始する必要がある場合、システムはインターセプトされます。以下に示すように起動状態になります (特定の Web サイトを例にします):
#変更したいページにアクセスしてパラメータを改ざんしたら、「閉じる」をクリックします。成功すると、ページは変更したパラメータを返します。これが傍受改ざんの脆弱性です。#結果:
ほとんどの場合、Burpsuite はパラメータを改ざんすることで脆弱性攻撃を完了します。 Web ページが直接改ざんされていることがわかります。この状況は、顧客エクスペリエンスを低下させるだけでなく、運用リスク、さらには法的リスクに直面し、広報危機などの一連のリスクを引き起こします。
以上がWebペネトレーションスキル分析の実施方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。