問題タブ [american-fuzzy-lop]
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.
travis-ci - Travis CI の一部としてアメリカン ファジー ロップを適用しますか?
Travis CI 実行の一部としてアメリカン ファジー ロップを実行したいと考えています。どうやってやるの?
fedora - 別のコンパイラで Fedora パッケージを再構築する方法は?
この質問 ( askubuntu.comの「別のコンパイラでパッケージを自動的に再構築するにはどうすればよいですか?」)と同様に、Fedora ビルド スクリプトを使用してソースのフェッチと C プログラムのコンパイルを自動化する方法を知りたいです。デフォルト以外のコンパイラ - 私の場合はafl-gcc. プログラムの例を歓迎しますが、最小限の変更で、pv他のパッケージでも同様に機能するソリューションを望んでいます。aflizelibreofficeに似たものを実現したいと思います(これは現在 Debian 専用です)。モックについて聞いたことがありますが、それを使用できれば最高です。
c - SIGSEGV ハンドラーから別のプロセスを強制終了できますか?
背景: afl-fuzz が各サンプルに対して実行するスタブから処理するファイル名を渡すことにより、afl-fuzz を使用して長期間存続するプロセスをファジングしています。
長期間存続するプロセスが SIGSEGV を介してクラッシュした場合、スタブも SIGSEGV を生成して、afl-fuzz がサンプルを興味深いものとしてマークするようにします。
kill(stub_pid, SIGSEGV)存続期間の長いプロセスの SIGSEGV ハンドラからの呼び出しは機能しますか?
coredump - root なしの AFL ファジング - /proc/sys/kernel/core_pattern の変更を避ける
root アクセス権がない Linux システムで American Fuzzy Lop (AFL) ファザーを実行したいと考えています。そうすると、最初に、変更を求めるエラー メッセージが表示されます/proc/sys/kernel/core_pattern。
[-] うーん、システムはコア ダンプ通知を外部ユーティリティに送信するように設定されています。これにより、ファジングされたバイナリの誤動作と、この情報が最終的に標準の waitpid() API を介してファザーに中継されるまでの遅延が長くなるため、問題が発生します。
クラッシュがハングと誤解されるのを避けるために、root としてログインし、次のように /proc/sys/kernel/core_pattern を一時的に変更してください。
このエラー メッセージと、その説明が理にかなっている理由は理解できます。
残念ながら、変更/proc/sys/kernel/core_patternにはシステムのルート アクセスが必要です。私は経験から、AFL の残りの部分は root アクセスを必要としないことを知っています。
root なしで AFL を使用する回避策はありますか? (おそらく、AFL を台無しにしないように、自動コアダンプ ハンドラーを無効にする別のユーザー レベルの方法でしょうか?) ここで Linux のコア ダンプに関する多くの質問を読みましたが、それらのどれも構成する方法を識別しませんでした。ユーザー レベルのプロセス単位の粒度でのコアダンプ ハンドラ。
c - American Fuzzy Lop は簡単な例で失敗します
American Fuzzy Lop を使用しようとしましたが、次のような単純な例では機能しません。
このコードの 1 つのバージョンを通常の gcc を使用してコンパイルし、別のバージョンを afl-clang を使用してコンパイルします。次に、gcc バージョンを入力フォルダー内に配置し、ファザーを次のように呼び出します。
しかし、うまくいきません。
私は何を間違っていますか?
clang - カスタム LLVM IR パスを使用して afl-clang-fast でバイナリをコンパイルする
カスタム LLVM IR パスを使用したコンパイル時のインストルメンテーションに AFL ファザーの clang フロントエンドを使用するにはどうすればよいですか。https://github.com/obfuscator-llvm/obfuscator/からカスタム IR パスを抽出し 、afl-clang-fast でコンパイルするときにそれらを使用して、afl インストゥルメントと ollvm によって指定された難読化を含むバイナリを取得します。コンパイルされた変換パスで xclang を仮説的に使用できますか? 最後に、難読化パスを使用せずにバイナリをファジングし、ファジングを難読化パスを使用したバイナリと比較したいだけです。開始方法に関する一般的なアイデアをいただければ幸いです。
c - afl-gcc でコンパイル - インストルメンテーションが検出されない
アプリケーションを afl でファジングしたいのですが、置き換えた後gccもafl-gccエラーが発生します。[-] PROGRAM ABORT : No instrumentation detected.
問題をデバッグするための簡単な C プログラムを作成しました。
でコンパイルしafl-gcc main.c -o mainます。私が使用する入力ファイルとしてecho "12 Hello World.foobar" > foo.txt
私が今走るとき、私はafl-analyze -i foo.txt ./main得る
何か不足していますか?Ubuntuリポジトリ(18.04)からafl(2.52b-2)を直接インストールしました。