http://blog.miguelgrinberg.com/post/designing-a-restful-api-with-python-and-flaskを読んで、Flask で小さな REST ベースの Web サービスを作成しました。Peach フレームワークを使用して JSON をファジングしたいと思いました。 . ファジングにピットファイル(XML)を使用していることは知っていますが、私の小さな脳では、目的に役立つピットファイルを作成できません。私はピーチピットファイルをたくさん探しましたが、すべて無駄です. ピット ファイルが必要です。ファジング ペイロード用のピット ファイルの作成方法を誰か教えてください。
3018 次
1 に答える
2
ピーチに関する素晴らしいチュートリアルがあります。
いくつかの要素を定義する必要があります:
- 送信するデータの形式を記述するデータ モデル。
- ファザーの動作を記述する状態モデル。
- ファジング下でアプリケーションを実行および監視するエージェント。
- すべての定義をまとめるテスト。
チュートリアルの Peach Pit ファイルの例を次に示します。
<Peach xmlns="http://peachfuzzer.com/2012/Peach" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://peachfuzzer.com/2012/Peach ../peach.xsd">
<DataModel name="DataHTER">
<String value="HTER " mutable="false" token="true"/>
<String value=""/>
<String value="\r\n" mutable="false" token="true"/>
</DataModel>
<StateModel name="StateHTER" initialState="Initial">
<State name="Initial">
<Action type="input" ><DataModel ref="DataResponse"/></Action>
<Action type="output"><DataModel ref="DataHTER"/></Action>
<Action type="input" ><DataModel ref="DataResponse"/></Action>
</State>
</StateModel>
<DataModel name="DataResponse">
<String value=""/>
</DataModel>
<Agent name="RemoteAgent" location="tcp://127.0.0.1:9001">
<!-- Run and attach windbg to a vulnerable server. -->
<Monitor class="WindowsDebugger">
<Param name="CommandLine" value="C:\Documents and Settings\Administrator\Desktop\vulnserver\vulnserver.exe"/>
<Param name="WinDbgPath" value="C:\Program Files\Debugging Tools for Windows (x86)" />
</Monitor>
</Agent>
<Test name="TestHTER">
<Agent ref="RemoteAgent"/>
<StateModel ref="StateHTER"/>
<Publisher class="TcpClient">
<Param name="Host" value="127.0.0.1"/>
<Param name="Port" value="9999"/>
</Publisher>
<Logger class="File">
<Param name="Path" value="Logs"/>
</Logger>
</Test>
JSON データ モデルを使用する場合は、peach アーキテクトの推奨事項に従うことができます。
1)JSONに対応するデータモデルを定義します。
JSON オブジェクト
{
"name":"John Smith",
"address":{
"address1":"555 Main St.",
"city":"Seattle"
}
}
データ・モデル
<DataModel>
<String name="name" value="John Smith" />
<Block name="address">
<String name="address1" value="555 Main St." />
<String name="city" value="Seattle" />
</Block>
</DataModel>
次に、C# で独自のカスタム パブリッシャーを作成する必要があります。これは、このためのチュートリアルです。
于 2014-11-02T21:05:39.920 に答える