特定のJavaScriptにAJAX/WCF呼び出しを行うロジックが含まれているかどうか、または実行時に実行されているかどうかを確認したいと思います。
このようなものはありますか?
JavaScriptDeobfuscatorと呼ばれるFirefoxプラグインを使用しています。これは、コンパイルされたすべてのスクリプトと実行されたすべてのスクリプトを表示できるので、非常にうまく機能します。これはオンザフライで更新され、実行されたすべてのスクリプトに関する詳細が含まれています。
フィルタを使用して、特定のドメインのJavaScriptのみをキャプチャすることもできます。このプラグインは、Webペネトレーションテストで大いに役立ちました。
ここで見つけることができます https://addons.mozilla.org/en-US/firefox/addon/10345/
プラグインページからの引用:
This add-on will show you what JavaScript gets to run on a web page, even if it
is obfuscated and generated on the fly. Simply open JavaScript Deobfuscator from the
Tools menu and watch the scripts being compiled/executed.
Javascript、alaコードレビューを調べたい場合は、@ joniの答えが最適です-XMLHttpRequest
だけでなく、eval
、関連するJQueryメソッドも検索し、画像タグ、スクリプトタグを含めることもできます、XMLタグ、およびリモートURIを取得できるその他のタグ-CSSが含まれています。
ただし、オプションがある場合は、実行時に決定する方がはるかに簡単です。スニファまたは proxy を接続して、何が起こるかを監視するだけです。
もちろん、それを開始する条件が何であれ、必ずトリガーする必要がありますが、それでもはるかに簡単です。
単純なのは、XMLHttpRequest
をgrepするだけです。ただし、HTTPリクエストを設定する方法は他にもたくさんあるため(たとえば、画像やスクリプトタグをDOMに追加するなど)、これは完全にはほど遠いものです。さらに、悪意のあるユーザーはeval()
をrot13またはその他の難読化関数と組み合わせて使用する可能性があり、他にも何千もの安価なトリックがあるに違いありません。答えは、サンドボックスでコードを実行してからリクエストをトレースする完全なJavascriptエンジンを実装する必要があるということです。