web-dev-qa-db-ja.com

ASP.NETサイトを通過できるクローラー/スパイダーソフトウェアを知っていますか?

ASP.NET MVCではなく、ASP.NETアプリケーションを通過できるクローラー/スパイダーソフトウェアを知っていますか?

そのようなアプリケーションがない場合-どのようにASP.NET Webサイトの検査を開始しますか?私のアプローチは通常、アプリケーションフォルダー内のすべての* .aspxファイルを検索し、パラメーターなしでページに到達できるか、リアルタイムキラーであるWebサイトGUIを介して到達できるかどうかを1つずつチェックすることです。

4
bretik

JavaScriptリンクは、自動スパイダリングにとって大きな問題です。個人的には、私は Burp suite を使用する傾向があり、サイトをナビゲートして手動でページリストを作成してから、ページごとのスキャンを使用します。

理論的には、ブラウザエンジン自体に依存してスパイダーを実行するスパイダーを使用する方法です(そのため、ブラウザーを「駆動する」ツールの一部が役立つ場合があります)。

別のオプションは、JavaScript解析エンジンをプログラミング言語で利用できるようにすることです。その面で役立つ可能性があると私が見た1つのことは、Ruby内からJavaScript解析エンジンへのアクセスを可能にする this project from rubyracer です。私は試していませんが、フォームの送信時にJavaScriptを評価し、そこからクモがたどる適切なURLを抽出するために、そのようなものを使用できる可能性があると考えていました。

4
Rory McCune

ソフトウェア品質エンジニア/テスターは、クローラーやスパイダーに依存してバグをテストしていません-アプリケーションセキュリティエンジニア/テスターがどちらかを実行する必要があるとは思いません...

代わりに、SQEは、Selenium RC/Bromine、Watir/WatiN/Watij、Sahi、HtmlUnit、WebDriverなどの開発テストフレームワーク(またはテストハーネス)に大きく依存しています。 HP QTP、IBM Rational Functional Tester、TestComplete、VisualStudio Tester Edition 2010などのハイエンドの商用QAツールを利用する人もいます。

次の理由により、SQEは通常、実行フローのためのアプリの実行を自動化しません。

  • 特にタイムスケジュール(多くのテスターが行っている)で結論を調べて結果を判断するために、観光客が行ったことのない新しい都市で行うような、探索的な発見が必要です。
  • 等価分類などの概念は、同じ間違いを何度も繰り返す必要がないため、テスターの作業時間を節約できます。すべてをテストしなければならないという点でセキュリティテストは少し異なりますが、確かに今日これを実行せず、特にタイムボックス化されている場合はこの手法を利用できます

テストの自動化の問題は、アプリがすばやく変更され、通常、これらの変更に対応するためにテストハーネスを継続的に変更する必要があることです。 ICONIXなどのアジャイル手法では、堅牢性テストはドメインモデルとシーケンス図(通常はUML)から生成されたコードですが、コードのチャーンや新しいビルド中にテストケースの再構築を自動化する方法はたくさんありますが、これは頻繁に行われますおそらくメタプログラミングは必要ありません。

0
atdre