首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Boofuzz基于组值创建嵌套块

Boofuzz基于组值创建嵌套块
EN

Stack Overflow用户
提问于 2018-09-04 07:14:51
回答 1查看 320关注 0票数 1

在s_block中,我试图根据从s_group中选择的值创建嵌套的s_group。

当我尝试使用两个具有相同操作码的组时,我得到了两个错误,1) BLOCK NAME ALREADY EXISTS: 1,。我有一个外部s_group,其中包含可能的操作码值"1“、"2”、"3“,内部s_group的可能值为"1”、"2“。

2)我希望使用s_block中的值来依赖于在s_group中选择的值。

我正在使用的代码如下:-

代码语言:javascript
复制
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()

预期可能的结果:-

代码语言:javascript
复制
1A1Emergency#1ab121-2345-2212-123ad21#Registered
1A2Frequent
2B
3C1Anonymous
3C2Registered

请帮帮忙

EN

回答 1

Stack Overflow用户

发布于 2018-09-04 09:10:36

耶!

终于明白了。

我必须更新块名&为这些块提供组名,然后一切都开始工作了。此代码涵盖所有预期的可能方案。

在这里发布工作代码,希望这会有帮助。

代码语言:javascript
复制
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()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52160785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档