問題タブ [fuzzing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python モジュールのファジング
この質問は少しずれているように思えるかもしれませんが、Python モジュールをファジングすることは可能ですか? 私は現在、Peach ファジング フレームワークに関してできる限りのことを学んでおり、そのセキュリティをテストするために、Python モジュール cx_Oracle をファジングしたいと考えています。これはできますか?これまでのところ、ファジングについて読んだことはすべて、そうではないことを教えてくれるからです。ありがとうございました!
owasp - OWASP の ZAP と Fuzz 機能
私のシナリオ:
ログインページに移動します。既知のユーザー名と間違ったパスワードを入力しました。ZAP はこれを問題なく取り上げます。
ログインページへの POST を選択します。ユーザー名とパスワードを含む行を見つけました。パスワード: ctl00%24ContentPlaceHolder1%24cpLoginAspx%24ctl00%24LoginControl1%24LTLogin%24Password=12345&
12345 を強調表示し、右クリックして Fuzz を選択します。テスト アカウントの正しいパスワードを含むカスタム リストを作成し、それを選択しました。
私がそうするとき、それは私が期待したようにリストを通り抜けます。12345 をリスト内のさまざまなオプションに変更します。
しかし、単語に到達すると、I KNOW が正しいパスワードです。それが正しかったことを私に警告するのと同じことです。この場合のパスワードは Password5 でした。私はそれが反映されるか、それを示す何かが新しいページに向けられていることを期待していました. しかし、それはテストユーザーにとって正しくない「パスワード」で発生します。
[Fuzzer] タブに次のように表示されます。
python - クラッシュしたサブプロセスの「セグメンテーション フォールト」メッセージをキャプチャします。
subprocess モジュールを使用してクラッシュしたプログラムの出力を取得する際に問題があります。私はpython2.7とサブプロセスを使用して、セグメンテーション違反を取得するために奇妙な引数でプログラムを呼び出しています。プログラムを呼び出すために、次のコードを使用します。
呼び出されるのは、プログラムの名前と引数を含むリストです (サブプロセスがまったく好まない NULL バイトを除くランダムなバイトを含む文字列)
プログラムがクラッシュしない場合、コードは動作し、stdout と stderr を表示しますが、クラッシュすると、有名な「セグメンテーション違反」を表示する代わりに、out と err が空になります。
プログラムがクラッシュした場合でも、エラーを取得してエラーを回避する方法を見つけたいと考えています。
check_output / call / check_call メソッドも試しました
いくつかの追加情報:
Python仮想環境のArchlinux 64ビットでこのスクリプトを実行しています(ここでは重要なことではありませんが、わかりません:p)
実行しようとしている C プログラムでセグメンテーション違反が発生し、バッファ オーバーフローの結果です。
問題は、セグメンテーション違反が発生したときに、サブプロセスで何が起こったのかの出力を取得できないことです
私はリターンコードを正しく取得します: -11 (SIGSEGV)
Pythonを使用すると、次のようになります:
pythonの外にいる間、私は得る:
シェルの戻り値は同じです: echo $? 139 を返すので -11 ($? & 128)
unit-testing - 契約による設計 (DbC) とテスト駆動開発のベスト プラクティス
開発から本番まで、コード コントラクトとテストを実際にどのように使用するのが最適かについて、簡潔な推奨事項を得たいと考えています。どちらも異なるパラダイムであり、異なることをテストしていることを理解しています。
メソッド レベルでは、コントラクトは、パラメータが STRING 型である必要があり、渡すために最小長が 3 文字である必要があることを指定できます。単体テストでは、これに一致する任意の文字列について、出力ハッシュが正しいことを確認できます (それが関数の役割であると仮定します)。
コントラクトが失敗することを確認するためのテストが存在する必要がありますか? テストが価値あるものであるためには、反復可能でなければならないため、ファジングを支援するのに適していないことを理解しています. 逆に言えば、DbC はそれを可能にします。
最初は、テストでコントラクトを簡単に確認できると思っていましたが、これによりコントラクトがメソッドの定義の外に移動し、DbC が密結合を強制しようとしていると思いますか?
同様に、契約は開発中にのみ積極的に適用されますか? 実稼働コードでは、ビルドに単体テストの兆候はありませんが、DbC はどうでしょうか? 契約は「無視」されていますか、それともアサーションが実際に露骨に失敗することを許されていますか?
役割が検証であるメソッドに DbC が存在しないというのは本当ですか? たとえば、フロントエンドからの無効な入力が予想されます。DbCは、入力が「クリーン」であると想定される領域内で厳密に定義されていると想定しています。
fuzzing - Peach 3 Dumb Fuzz チュートリアル - WinDbg が見つかりません
私はファズ テストに関する簡単なチュートリアルを試みており、そのためにPeach Fuzzerを使用しています。ファザーを実行した後、次のエラーが表示されます。
モニター「WindowsDebugger」を開始できませんでした。エラー、WinDbg が見つかりません。「WinDbPath」パラメータを使用して指定してください。
この問題の修正を開始する方法が本当にわかりません。どんな助けでも大歓迎です。
python - pcapy.findalldevs() 開く有効なインターフェースがありません
Sulley の (ファザー) "network_monitor.py" を Ubuntu vm で実行しようとしています。毎回、次のエラーが発生します。
pcapy.PcapError: No valid interfaces to open
これは、実行しているコードとはほとんど関係がないと思います。
同じエラーが発生します
何が起こっているかについてのヒントは素晴らしいでしょう。どうもありがとうございました
google-chrome - Google Chrome クラッシュ レポートの分析
私はクラッシュ分析の分野に不慣れです。最近、たまたま Google Chrome をクラッシュさせてしまいました。クラッシュが実際に起こった理由については、私にはわかりません。でも深く知りたい。
クラッシュが発生したとき、生成されたクラッシュ レポートがありました。最初はレポートをどう処理すればよいかわからなかったので、そのレポートをシステムのテキスト ファイルに保存しました。
今、情報セキュリティの世界の人々が、クラッシュ ダンプの分析とリバース、クラッシュ ダンプのファジングなど、クラッシュの再現を試みていることについて話しているのを聞いたことがあります。
これらのことがどのように行われるか、そしてそもそもそれらが実際に何であるかを理解することに興味があります。クラッシュなどを分析して再現する方法を理解するのに役立つリソースについて助けが必要です。Linuxで、ファジングによって見つかったクラッシュをトリアージする最良の方法は? しかし、これらのリソースは少し進歩しているようで、あまり基本的ではありませんでした. また、グーグルで検索すると、Windows で BSOD を分析する方法に関するリソースがいくつか得られましたが、Google Chrome クラッシュ分析に関連するものは見つかりませんでした。
これらの概念を理解できる優れたリソースを提供してください。
私のプラットフォームは Mac OSX 10.9.2 で、Google Chrome はバージョン 35.0.1916.153 です。