コード例 #1
0
def s_block_start (name, group=None, encoder=None, dep=None, dep_value=None, dep_values=[], dep_compare="=="):
    '''
    Open a new block under the current request. This routine always returns True so you can make your fuzzer pretty
    with indenting::

        if s_block_start("header"):
            s_static("\\x00\\x01")
            if s_block_start("body"):
                ...

    @type  name:        String
    @param name:        Name of block being opened
    @type  group:       String
    @param group:       (Optional, def=None) Name of group to associate this block with
    @type  encoder:     Function Pointer
    @param encoder:     (Optional, def=None) Optional pointer to a function to pass rendered data to prior to return
    @type  dep:         String
    @param dep:         (Optional, def=None) Optional primitive whose specific value this block is dependant on
    @type  dep_value:   Mixed
    @param dep_value:   (Optional, def=None) Value that field "dep" must contain for block to be rendered
    @type  dep_values:  List of Mixed Types
    @param dep_values:  (Optional, def=[]) Values that field "dep" may contain for block to be rendered
    @type  dep_compare: String
    @param dep_compare: (Optional, def="==") Comparison method to use on dependency (==, !=, >, >=, <, <=)
    '''

    block = blocks.block(name, blocks.CURRENT, group, encoder, dep, dep_value, dep_values, dep_compare)
    blocks.CURRENT.push(block)

    return True
コード例 #2
0
def s_block_start (name, group=None, encoder=None, dep=None, dep_value=None, dep_values=[], dep_compare="=="):
    '''
    Open a new block under the current request. This routine always returns True so you can make your fuzzer pretty
    with indenting::

        if s_block_start("header"):
            s_static("\\x00\\x01")
            if s_block_start("body"):
                ...

    @type  name:        String
    @param name:        Name of block being opened
    @type  group:       String
    @param group:       (Optional, def=None) Name of group to associate this block with
    @type  encoder:     Function Pointer
    @param encoder:     (Optional, def=None) Optional pointer to a function to pass rendered data to prior to return
    @type  dep:         String
    @param dep:         (Optional, def=None) Optional primitive whose specific value this block is dependant on
    @type  dep_value:   Mixed
    @param dep_value:   (Optional, def=None) Value that field "dep" must contain for block to be rendered
    @type  dep_values:  List of Mixed Types
    @param dep_values:  (Optional, def=[]) Values that field "dep" may contain for block to be rendered
    @type  dep_compare: String
    @param dep_compare: (Optional, def="==") Comparison method to use on dependency (==, !=, >, >=, <, <=)
    '''

    block = blocks.block(name, blocks.CURRENT, group, encoder, dep, dep_value, dep_values, dep_compare)
    blocks.CURRENT.push(block)

    return True
コード例 #3
0
ファイル: ber.py プロジェクト: deepakkathayat/fuzzer
    def __init__ (self, name, request, value, options={}):
        blocks.block.__init__(self, name, request, None, None, None, None)

        self.value   = value
        self.options = options
        self.prefix  = options.get("prefix", "\x04")

        if not self.value:
            raise sex.error("MISSING LEGO.ber_string DEFAULT VALUE")

        str_block = blocks.block(name + "_STR", request)
        str_block.push(primitives.string(self.value))

        self.push(blocks.size(name + "_STR", request, endian=">", fuzzable=True))
        self.push(str_block)
コード例 #4
0
    def __init__ (self, name, request, value, options={}):
        blocks.block.__init__(self, name, request, None, None, None, None)

        self.value   = value
        self.options = options
        self.prefix  = options.get("prefix", "\x04")

        if not self.value:
            raise sex.SullyRuntimeError("MISSING LEGO.ber_string DEFAULT VALUE")

        str_block = blocks.block(name + "_STR", request)
        str_block.push(primitives.string(self.value))

        self.push(blocks.size(name + "_STR", request, endian=">", fuzzable=True))
        self.push(str_block)