パロスツールユーザーマニュアル
Paros Tool User Manual
- パロス入門
Parosは、純粋なJava言語を使用して開発されたセキュリティ脆弱性スキャンツールです。これは主に、Webアプリケーションでセキュリティチェックを実行する必要がある人のニーズを満たすように設計されています。パロスのローカルプロキシを介して、Cookieやフォーム情報など、クライアントとサーバー間のすべてのhttpおよびhttpsデータ情報が傍受または変更されます。 Parosプロキシは、Webアプリケーションの脆弱性を評価するプロキシプログラムです。つまり、Webアプリケーションの脆弱性を評価できるJavaベースのWebプロキシプログラムです。 HTTP / HTTPSの動的な編集/表示をサポートして、Cookieやフォームフィールドなどのアイテムを変更します。これには、Web通信レコーダー、Webスパイダー、ハッシュ計算機、および一般的なWebアプリケーション攻撃(SQLインジェクション攻撃やクロスサイトスクリプティング攻撃など)をテストできるスキャナーが含まれています。脆弱性をチェックするためのツールは次のとおりです。 SQLインジェクション、クロスサイトスクリプティング攻撃、ディレクトリトラバーサル、CRLF-キャリッジリターンラインフィード 待つ。
その他の学習資料
https://edu.csdn.net/course/detail/25768
https://edu.csdn.net/course/detail/22948
このマニュアルは、主にパロスの基本的な機能と簡単なアプリケーションに精通しているユーザーを支援することを目的としています。
- インストールと構成
- インストール
Parosツールをインストールする前に、Javaファイル(JDK)をインストールする必要があり、バージョンは1.4より前である必要があります。パロスにはJDKのサポートが必要です。 JDKのダウンロードアドレスは次のとおりです。
http://www.oracle.com/technetwork/java/javase/downloads/index.html
次に、次の場所でパロスをダウンロードします。
http://sourceforge.net/projects/paros/
パロスは、WindowsとLinuxのバージョンで利用できます。現在、Windowsを使用しており、Windowsバージョンをダウンロードする必要があります。
パロスには、8080と8443の2つの接続ポートがあり、8080は主にHttp接続用であり、8443はHttpsプロトコルが接続ポートを確立するためのものです。
インストール後のパロスを図に示します。
IEブラウザなどのWebブラウザを開きます。接続プロキシを設定する必要があります。プロキシ名はlocalhost、プロキシポートは8080、ポート8443はWebブラウザではなくParos自体によって使用されるため、必要ありません。このプロキシポートを設定します。
注:ファイアウォールがバックグラウンドで実行されており、設定されたインターネットアクセス入口のみを受け入れることができる場合、2つのロゴを変更するには、以下に示すように、Parosプロキシ名とポート番号を変更する必要があります。
その他の学習資料
https://edu.csdn.net/course/detail/25768
https://edu.csdn.net/course/detail/22948 。
構成
まず、Parosプログラムを開始します。起動時にインターフェイスにエラーメッセージが表示され、ポート番号8080と8443が占有されている可能性があることを示している場合、現時点では、Parosのローカルポート番号を変更してから、IEブラウザのプロキシ設定を次のように変更するだけです。一貫性は問題ありません。以下に示すように:
パロスの設定:
IEプロキシ設定:
まず、Parosのインターフェースと関数の分布を見てください
クモのクロール
スパイダーはパロス島で非常に重要な機能です。これは、Webサイト情報をクロールし、URLアドレス情報を収集し、Spiderを使用してクロールサイトのURLをレイヤーごとに分解するために使用されます。写真が示すように:
現在、その機能は次のとおりです。
1)提供されたURLアドレスを介してHTTPまたはHTTPS情報を取得します
2)Cookie情報のキャプチャのサポート
3)プロキシチェーンの設定をサポート
4)URLアドレスを自動的に追加し、階層ツリー構造でスキャンします
Spiderのいくつかの欠陥は次のとおりです。
1)SSLプロトコルが不正に検証されているサイトはスキャンできません
2)マルチスレッドをサポートしていません
3)HTMLで異常なURLアドレスを持つページが認識されない
4)Javascriptで生成されたURLアドレスが認識できない
注:認識できないURLの場合、Parosもスキャンできます。これは、手動で追加する必要があります。
その他の学習資料
https://edu.csdn.net/course/detail/25768
https://edu.csdn.net/course/detail/22948 。
スキャナー
「サイト」列のURLをスキャンし、URLのセキュリティを1つずつチェックして、セキュリティの脆弱性があるかどうかを確認します。 'site'列のすべてのURLをスキャンする場合は、anaylse-scanallをクリックしてすべてのスキャンを開始します。 「サイト」列のURLのみをスキャンする場合は、URLを選択して右クリックし、スキャンコマンドを選択します。以下に示すように:
スキャン設定については、1ページまたはサイト全体をスキャンできます。
スキャナーは次の状況をスキャンできます。
1)SQLインジェクション
2)XSSクロスサイトスクリプティング攻撃
3)ディレクトリトラバーサル
4)CRLF-キャリッジリターンラインフィードなど
注:パロススキャンは、各WebサイトのURLアドレスの階層スキャンであり、個々のURLアドレスに正確であり、脆弱性の検出が必要です。
その他の学習資料
https://edu.csdn.net/course/detail/25768
https://edu.csdn.net/course/detail/22948 。
1)収集される情報は次のように分類されます。
期限切れのファイル、プライベートIPの公開、URLアドレスに書き換えることができるセッションID、期限切れのファイルの拡張チェック。
2)クライアントブラウザは次のように分類されます。
フォームは、閲覧中に保存されたセキュリティファイルのパスワードとキャッシュ情報の保存を自動的に完了します。
3)サーバー側のセキュリティは次のように分類されます。
参照されているディレクトリ情報、IISサービスのデフォルトファイルなど、さまざまなサーバーのデフォルトファイル。
4)SQLインジェクションは次のように分類されます
基本的なSQLステートメントの構築、ディレクトリのアップロード、サーバーサイトの挿入、クロスサイトスクリプトの挿入など。
-
- フィルタ
フィルタの目的:
1)HTTPメッセージ内のいくつかの事前定義されたパターンを検出して警告するため、すべてのHTTPメッセージをキャプチャする必要はなく、必要なパターンを探すだけで済みます。
2)Cookieなど、関心のある情報を記録します。
データ送信では、フィルターはすべてのHTTPメッセージを傍受して検出します。すべてのフィルターを使用すると、Parosのスキャン速度が大幅に低下するため、通常は、必要な情報を傍受してフィルター処理するだけで済みます。
現在、次のフィルターがあります。
1)LogCookie
ブラウザからサーバーに受信したすべてのCookieを記録し、パネルに表示します。
2)LogGetQuery
ブラウザから取得したすべてのHTTP(HTTPS)パラメータを記録すると、ログの名前が「get.xls」の形式でParosディレクトリに保存されます。
3)LogPostQuery
ブラウザから送信されたすべてのHTTP(HTTPS)パラメータを記録すると、ログの名前が「post.xls」の形式でParosディレクトリに保存されます。
4)CookieDetectFilter
返されたHTTPメッセージのCookie情報を設定および変更してみることを忘れないでください。
5)IfModifiedSinceFilter
HTTPリクエストの「If-Modified-Since」および「If-None-Match」ヘッダー情報オプションを削除すると、「HTTP304未変更」ではなく「HTTP200OK」が取得されます。
-
- HTTPリクエストとレスポンスのトラップ
パロスは、HTTP(HTTPS)要求および応答情報を手動でキャプチャして変更できます。すべてのHTTPおよびHTTPSデータは、Parosを介してキャプチャでき、必要な方法で変更できます。
「トラップ要求」および「トラップ応答」チェックボックスが選択されている限り、すべての要求および応答情報がキャプチャされ、「続行」をクリックして操作を続行することを意味します。具体的な操作を図に示します。
まず、Parosツールを起動してページを開始します
次に、[トラップ]ページの[トラップ要求]オプションと[トラップ応答]オプションを確認します。
簡単なHttpWebサイトを通じて、Parosの基本的な機能を示します。
1. Parosツールを起動し、Optionを入力してローカルプロキシを設定し、プロキシ名をLocalhostに設定し、プロキシポートを8081に設定してから、IEブラウザのインターネット接続プロキシを設定します。これはParosプロキシ情報と一致します。
- 脆弱性タイプ
脆弱性は、ハードウェア、ソフトウェア、プロトコル、またはシステムセキュリティポリシーの特定の実装における欠陥であり、攻撃者が許可なくシステムにアクセスしたり、システムを破壊したりする可能性があります。これは保護されていないエントリポイントであり、制限されたコンピュータ、コンポーネント、アプリケーション、またはその他のオンラインリソースを誤って残してしまいます。ただし、いくつかの一般的なWebセキュリティの脆弱性があります。
-
- SQLインジェクション
いわゆるSQLインジェクションは、SQLコマンドをWebフォームに挿入して、ドメイン名またはページ要求のクエリ文字列を送信または入力し、最後にサーバーをだまして悪意のあるSQLコマンドを実行することです。 。 たとえば、以前の映画やテレビのWebサイトの多くは、VIPメンバーのパスワードを漏らしており、それらのほとんどは、WEBフォームを介してクエリ文字を送信することによって公開されていました。このようなフォームは、SQLインジェクション攻撃に対して特に脆弱です。
たとえば、管理者のアカウントパスワードがadminの場合、バックグラウンドでのデータベースクエリステートメントは次のようになります。
user = request( 'user')
passwd = request( 'passwd')
sql = 'adminbateからadminを選択します。user='& '' '&user&' ''& 'および
passwd = '&' ''&passwd& '' '
次に、ユーザー名とパスワードとして「または」「a」=「a」を使用すると、クエリは次のようになります。
adminbateからadminを選択します。user= ''または 'a' = 'a'およびpasswd = ''または 'a' = 'a'
SQLインジェクションを防ぐ方法を要約すると、次の点があります。
1)ユーザー入力を絶対に信用しないでください。ユーザーの入力を確認するには、正規表現を使用するか、長さを制限して一重引用符と二重 '-'などを変換します。
2)動的アセンブリSQLは絶対に使用しないでください。パラメータ化されたSQLを使用するか、データのクエリとアクセスにストアドプロシージャを直接使用できます。
3)管理者権限を持つデータベース接続を使用しないでください。また、アプリケーションごとに制限された権限を持つ個別のデータベース接続を使用してください。
4)機密情報を直接保存したり、パスワードや機密情報を暗号化またはハッシュしたりしないでください。
5)アプリケーションの例外情報は、できるだけ少ないヒントを提供する必要があります。カスタムエラーメッセージを使用して、元のエラーメッセージをパッケージ化することをお勧めします。
6)SQLインジェクションの検出方法は、通常、補助ソフトウェアまたはWebサイトプラットフォームを採用して検出します。
-
- XSS攻撃
XSSはCSS(Cross Site Script)とも呼ばれ、クロスサイトスクリプティング攻撃です。これは、悪意のある攻撃者が悪意のあるhtmlコードをWebページに挿入することを指します。ユーザーがページを閲覧すると、Webに埋め込まれたHTMLコードが実行されるため、悪意を持ってユーザーを攻撃するという特別な目的が達成されます。
-
- ディレクトリトラバーサル
ディレクトリトラバーサル攻撃はHttpのセキュリティの脆弱性であり、攻撃者が制限されたディレクトリにアクセスして、Webサーバーのルートディレクトリの外部でコマンドを実行できるようにします。
-
- CRLFキャリッジリターンとラインフィード
CRLFは、ハッカーがCRLFコマンドをシステムに挿入できることを意味します。これはシステムやサーバーソフトウェアの脆弱性ではありませんが、Webアプリケーションの開発時にそのような攻撃の存在に気付いていない開発者が原因で発生します。
その他の学習資料
https://edu.csdn.net/course/detail/25768
https://edu.csdn.net/course/detail/22948