web-dev-qa-db-ja.com

XMLファイルを期待するファジングC ++アプリケーション

アプリケーションをファズして、安全であることを確認しようとしています。アプリにはUIがなく、コマンドラインから実行する必要があります。

app.exe myfile.xml

またmyfile.xmlは次のようになります:

<Sample>
<FileLocations tmp_root="PathOfExeFile">
    <Directory path="DirOfExeFile">
        <File id="1" name="filenameonly" hash="filehash" msi_key="filenameonly" remove="1" />
    </Directory>
</FileLocations>
</Sample> 

私の質問は次のとおりです:ファイルのみをファズする必要がありますか(そして基本的にランダムな引数をファイルに渡そうとします)、または常に同じXMLファイルを渡す必要があります(事前にファズ/編集します)?

1
user2567674

ファジングに使用できる時間は限られているため、危険な入力を処理する可能性のある部分を最初にファジングすることをお勧めします。ツールの正確な使用例はわかりませんが、入力として使用されるXMLファイルは、攻撃者がコマンドラインを制御するよりも攻撃者が制御できる可能性が高いと思います。したがって、最初にXMLに注意することをお勧めします。それでも時間があれば、コマンドラインをファズすることもできます。

それとは別に、ランダム入力の代わりに、よりインテリジェントなファジングを試すことをお勧めします。 American Fuzzy Lop をご覧ください。

2
Steffen Ullrich