2016-05-15 12 views
0

Ich bin Anfänger zu Fuzzing-Tools, und grundsätzlich möchte ich Fuzzing-Tool verwenden, um eine bestimmte Funktion zu testen.Fuzzing-Tool: Mutierte Ganzzahl innerhalb des vordefinierten Bereichs?

Im Wesentlichen hat diese Funktion drei Eingangsparameter und jeder Parameter ist eine Zahl mit einem Bereich von 0 bis 0xffff.

Ich möchte ein Fuzzing-Tool verwenden, um zufällige Eingabekombinationen zu generieren und die Zielfunktion zu testen. Wie auch immer, ich habe versucht zzuf, aber finde, dass es keine spezielle Einstellung auf mutierende ganzzahligen Wert hat.

Also ich bin auf der Suche nach einem Fuzzer, der unterstützt, nur ganzzahligen Wert innerhalb eines vordefinierten Bereichs mutieren? Könnte mir jemand Hilfe zu diesem Thema geben? Bin ich klar genug? Vielen Dank.

Antwort

2

Dies kann mit vielen Tools durchgeführt werden, darunter Kitty (von meinem Team entwickelt).

Angenommen, Sie die Zahl mit Dezimaldarstellung generieren möchten, die folgende Vorlage wird sie für Sie generieren (Werte werden durch Komma getrennt sein):

from kitty.model import * 
t = Template(name='function inputs', fields=[ 
    S32(name='p1', value=1, min_value=-500, max_value=1000, encoder=ENC_INT_DEC), 
    Static(','), 
    ForEach(name='p2', mutated_field='p1', 
      fields=S32(value=2, min_value=-3200, max_value=5098, encoder=ENC_INT_DEC)), 
    Static(','), 
    ForEach(name='p3', mutated_field='p2', 
      fields=S32(value=3, min_value=0, max_value=999, encoder=ENC_INT_DEC)) 
]) 

while t.mutate(): 
    print t.render().tobytes() 

Einige Beispielergebnisse:

-1,2,3 
129,1026,3 
129,130,3 
129,18,3 
129,-3200,3 
129,5098,3 
129,-3199,3 
129,5097,3 
129,-3198,3 
129,5096,3 
129,3,3 
129,1,3 
129,4,3 
129,0,3 
17,1026,3 
17,130,3 
17,18,3 
17,-3200,3 
17,5098,3 
17,-3199,3 
Verwandte Themen