Boofuzz создает вложенные блоки на основе групповых значений
В boofuzz я пытаюсь создать вложенный s_block на основе выбранного значения из s_group.
Я получаю две ошибки,
1) BLOCK NAME ALREADY EXISTS: 1,
когда я пытаюсь использовать две группы, имеющие одинаковые коды операций. У меня есть внешняя s_group, содержащая возможные значения кода операции ["1", "2", "3"] и внутренняя s_group, имеющая возможные значения ["1", "2"]
2) Я хочу использовать значение внутри s_block, чтобы зависеть от значения, выбранного в s_group.
Код, который я использую ниже:-
s_initialize(name="LOGIN-RQ")
with s_block("LOGIN"):
s_group("Priority", ["1","2","3"])
if(s_block_start("1", dep="Priority", dep_value="1", dep_compare="==")):
# handle '1' - for A priority
s_static("A")
s_group("Type", ["1","2"])
# handle '11 - for A priority Emergency'
if(s_block_start("1", dep="Type", dep_value="1", dep_compare="==")):
s_static("Emergency")
s_static("#")
s_string("1ab121-2345-2212-123ad21") # auth id
s_static("#")
s_static("Registered")
s_block_end()
if(s_block_start("2", dep_value="2", dep_compare="==")):
s_static("Frequent")
s_block_end()
s_block_end()
if(s_block_start("2", dep="Priority", dep_value="2", dep_compare="==")):
s_static("B")
s_block_end()
if(s_block_start("3")):
s_static("C")
s_group("Category", ["1","2"])
if(s_block_start("1", dep="Category", dep_value="1", dep_compare="==")):
s_static("Anonymous")
# handle anonymous category
s_block_end()
if(s_block_start("2", dep="Category", dep_value="2", dep_compare="==")):
s_static("Registered")
s_block_end()
s_block_end()
session.connect(session.root, s_get("LOGIN-RQ"))
session.fuzz()
Ожидаемые возможные результаты:-
1A1Emergency#1ab121-2345-2212-123ad21#Registered
1A2Frequent
2B
3C1Anonymous
3C2Registered
Пожалуйста, помогите
1 ответ
Ура!
Наконец то понял.
Мне пришлось обновить имя блока и предоставить имена групп для этих блоков, затем все стало работать. Этот код охватывает все ожидаемые возможные сценарии.
Размещая рабочий код здесь, надеюсь, это поможет
s_initialize(name="LOGIN-RQ")
with s_block("LOGIN"):
s_group("Priority", ["1","2","3"])
if(s_block_start("Priority1", group="Priority", dep="Priority", dep_value="1", dep_compare="==")):
# handle '1' - for A priority
#res = s_get_name_value('1')
s_static("A")
s_group("Type", ["1","2"])
if s_block_start("Type1", group="Type", dep="Type", dep_value="1", dep_compare="==") :
s_static("Emergency")
s_static("#")
s_static("1ab121-2345-2212-123ad21") # auth id
s_static("#")
s_static("Registered")
s_block_end("1")
if(s_block_start("Type2", group="Type", dep="Type", dep_value="2", dep_compare="==")):
s_static("Frequent")
s_block_end()
s_block_end()
if(s_block_start("Priority2", group="Priority", dep="Priority", dep_value="2", dep_compare="==")):
s_static("B")
s_block_end()
if(s_block_start("Priority3", group="Priority", dep="Priority", dep_value="3", dep_compare="==")):
s_static("C")
s_group("Category", ["1","2"])
if(s_block_start("Category1", group="Category", dep="Category", dep_value="1", dep_compare="==")):
s_static("Anonymous")
# handle anonymous category
s_block_end()
if(s_block_start("Category2", group="Category", dep="Category", dep_value="2", dep_compare="==")):
s_static("Registered")
s_block_end()
s_block_end()
if(s_block_start("Priority6", group="Priority", dep="Priority", dep_value="6", dep_compare="==")):
s_static("NEVER")
s_block_end()
session.connect(session.root, s_get("LOGIN-RQ"))
session.fuzz()