示例#1
0
    def do_show(self, arg):
        if arg == 'options':
            if PAYLOAD.has_key('poc'):

                opts = []
                for i in PAYLOAD.poc.options.keys():
                    val = PAYLOAD.poc.options.get(i)
                    if hasattr(val, '__iter__'):
                        val = "Not Set"
                    opts.append([i, val])

                self.ui.help(
                    title="Payload Options:",
                    options=
                        opts
                        # [[i,[[j,""] for j in PAYLOAD.poc.options.get(i)]] for i in PAYLOAD.poc.options.keys()]
                    )
            if TARGET:
                self.ui.help(
                    title="Target Options:",
                    options=
                        [[i,TARGET.get(i)] for i in TARGET.keys()]
                    )
                # print "======\nTarget:\n======"
                # for i in TARGET.keys():
                #     print u"{key} => {value}".format(key=i, value=TARGET.get(i))
        else:
            Cmd.do_show(self, arg)
示例#2
0
    def do_show(self, arg):
        if arg == 'options':
            if PAYLOAD.has_key('poc'):

                opts = []
                for i in PAYLOAD.poc.options.keys():
                    val = PAYLOAD.poc.options.get(i)
                    if hasattr(val, '__iter__'):
                        val = "Not Set"
                    opts.append([i, val])

                self.ui.help(
                    title="Payload Options:",
                    options=opts
                    # [[i,[[j,""] for j in PAYLOAD.poc.options.get(i)]] for i in PAYLOAD.poc.options.keys()]
                )
            if TARGET:
                self.ui.help(title="Target Options:",
                             options=[[i, TARGET.get(i)]
                                      for i in TARGET.keys()])
                # print "======\nTarget:\n======"
                # for i in TARGET.keys():
                #     print u"{key} => {value}".format(key=i, value=TARGET.get(i))
        else:
            Cmd.do_show(self, arg)
示例#3
0
 def complete_set(self, text, line, begidx, endidx):
     if PAYLOAD:
         if len(line.split()) >= 2:
             if PAYLOAD.poc.options.has_key(line.split()[1]):
                 opt = (PAYLOAD.poc.options.get(line.split()[1]))
                 if hasattr(opt, '__iter__'):
                     cache[line.split()[1]] = []
                     cache[line.split()[1]] = opt
                     return [
                         i for i in cache.get(line.split()[1])
                         if i.startswith(text)
                     ]
                 elif cache.has_key(line.split()[1]):
                     return [
                         i for i in cache.get(line.split()[1])
                         if i.startswith(text)
                     ]
                 else:
                     pass
         if text:
             return [
                 i.upper()
                 for i in PAYLOAD.poc.options.keys() + TARGET.keys()
                 if i.upper().startswith(text.upper())
             ]
         return [
             i.upper() for i in PAYLOAD.poc.options.keys() + TARGET.keys()
         ]
     if text:
         return [
             i.upper() for i in TARGET.keys()
             if i.upper().startswith(text.upper())
         ]
     return [i.upper() for i in TARGET.keys()]
示例#4
0
 def do_set(self, arg):
     if arg.split()[0].upper() in PAYLOAD.poc.options.keys():
         if len(arg.split()) == 2:
             PAYLOAD.poc.options.update({arg.split()[0].upper(): ''.join(arg.split()[1:])})
     elif arg.split()[0].upper() in TARGET.keys():
         if len(arg.split()) == 2:
             TARGET.update({arg.split()[0].upper(): ''.join(arg.split()[1:])})
     else:
         Cmd.do_set(self, arg)
示例#5
0
 def do_set(self, arg):
     if arg.split()[0].upper() in PAYLOAD.poc.options.keys():
         if len(arg.split()) == 2:
             PAYLOAD.poc.options.update(
                 {arg.split()[0].upper(): ''.join(arg.split()[1:])})
     elif arg.split()[0].upper() in TARGET.keys():
         if len(arg.split()) == 2:
             TARGET.update(
                 {arg.split()[0].upper(): ''.join(arg.split()[1:])})
     else:
         Cmd.do_set(self, arg)
示例#6
0
 def complete_set(self, text, line, begidx, endidx):
     if PAYLOAD:
         if len(line.split())>=2:
             if PAYLOAD.poc.options.has_key(line.split()[1]):
                 opt = (PAYLOAD.poc.options.get(line.split()[1]))
                 if hasattr(opt, '__iter__'):
                     cache[line.split()[1]]=[]
                     cache[line.split()[1]] = opt
                     return [i for i in cache.get(line.split()[1]) if i.startswith(text)]
                 elif cache.has_key(line.split()[1]):
                     return [i for i in cache.get(line.split()[1]) if i.startswith(text)]
                 else:
                     pass
         if text:
             return [i.upper() for i in PAYLOAD.poc.options.keys() + TARGET.keys() if i.upper().startswith(text.upper())]
         return [i.upper() for i in PAYLOAD.poc.options.keys() + TARGET.keys()]
     if text:
         return [i.upper() for i in TARGET.keys() if i.upper().startswith(text.upper())]
     return [i.upper() for i in TARGET.keys()]