Esempio n. 1
0
def putfunc(engine):

    template = request.values.get('tpl')
    if not template:
        template = '%s'

    injection = request.values.get('inj')
    if engine == 'mako':
        return MakoTemplates(template % injection).render()
    elif engine == 'jinja2':
        return Jinja2Template(template % injection).render()
Esempio n. 2
0
def putfunc(engine):

    template = request.values.get('tpl')
    if not template:
        template = '%s'

    injection = request.values.get('inj')
    if engine == 'mako':
        return MakoTemplates(template % injection, lookup=mylookup).render()
    elif engine == 'jinja2':
        return Jinja2Env.from_string(template % injection).render()
Esempio n. 3
0
def headerfunc(engine):

    template = request.headers.get('tpl')
    if not template:
        template = '%s'

    injection = request.headers.get('User-Agent')

    if engine == 'mako':
        return MakoTemplates(template % injection).render()
    elif engine == 'jinja2':
        return Jinja2Template(template % injection).render()
Esempio n. 4
0
def headerfunc(engine):

    template = request.headers.get('tpl')
    if not template:
        template = '%s'

    injection = request.headers.get('User-Agent')

    if engine == 'mako':
        return randomword() + MakoTemplates(
            template % injection, lookup=mylookup).render() + randomword()
    elif engine == 'jinja2':
        return randomword() + Jinja2Env.from_string(
            template % injection).render() + randomword()
Esempio n. 5
0
def reflect(engine):

    template = request.values.get('tpl')
    if not template:
        template = '%s'

    injection = request.values.get('inj')

    if engine == 'mako':
        return randomword() + MakoTemplates(
            template % injection, lookup=mylookup).render() + randomword()
    elif engine == 'jinja2':
        return randomword() + Jinja2Env.from_string(
            template % injection).render() + randomword()
Esempio n. 6
0
def limited(engine):
    template = request.values.get('tpl')
    if not template:
        template = '%s'

    length = int(request.values.get('limit', 6))

    injection = request.values.get('inj', '')
    if len(injection) > length:
        return 'Inj too long'

    if engine == 'mako':
        return MakoTemplates(template % injection).render()
    elif engine == 'jinja2':
        return Jinja2Template(template % injection).render()
Esempio n. 7
0
def limited(engine):
    template = request.values.get('tpl')
    if not template:
        template = '%s'

    length = int(request.values.get('limit'))

    injection = request.values.get('inj', '')
    if len(injection) > length:
        return 'Inj too long'

    if engine == 'mako':
        return randomword() + MakoTemplates(
            template % injection, lookup=mylookup).render() + randomword()
    elif engine == 'jinja2':
        return randomword() + Jinja2Env.from_string(
            template % injection).render() + randomword()
Esempio n. 8
0
def startswithtest(engine):
    template = request.values.get('tpl')
    if not template:
        template = '%s'

    str_startswith = request.values.get('startswith')

    injection = request.values.get('inj', '')
    if not injection.startswith(str_startswith):
        return 'Missing startswith'

    if engine == 'mako':
        return randomword() + MakoTemplates(
            template % injection, lookup=mylookup).render() + randomword()
    elif engine == 'jinja2':
        return randomword() + Jinja2Env.from_string(
            template % injection).render() + randomword()
Esempio n. 9
0
def url_reflect(engine, injection):

    template = request.values.get('tpl')
    if not template:
        template = '%s'

    if engine == 'mako':
        return randomword() + MakoTemplates(
            template % injection, lookup=mylookup).render() + randomword()
    elif engine == 'jinja2':
        return randomword() + Jinja2Env.from_string(
            template % injection).render() + randomword()
    elif engine == 'eval':
        return randomword() + str(eval(template % injection)) + randomword()
    elif engine == 'tornado':
        return randomword() + tornado.template.Template(
            template % injection).generate() + randomword()
Esempio n. 10
0
def blind(engine):

    template = request.values.get('tpl')
    if not template:
        template = '%s'

    injection = request.values.get('inj')

    if engine == 'mako':
        MakoTemplates(template % injection, lookup=mylookup).render()
    elif engine == 'jinja2':
        Jinja2Env.from_string(template % injection).render()
    elif engine == 'eval':
        eval(template % injection)
    elif engine == 'tornado':
        tornado.template.Template(template % injection).generate()

    return randomword()
Esempio n. 11
0
def reflect_cookieauth(engine):

    if not request.cookies.get('SID') == 'SECRET':
        return randomword()

    template = request.values.get('tpl')
    if not template:
        template = '%s'

    injection = request.values.get('inj')

    if engine == 'mako':
        return randomword() + MakoTemplates(
            template % injection, lookup=mylookup).render() + randomword()
    elif engine == 'jinja2':
        return randomword() + Jinja2Env.from_string(
            template % injection).render() + randomword()
    elif engine == 'eval':
        return randomword() + str(eval(template % injection)) + randomword()
    elif engine == 'tornado':
        return randomword() + tornado.template.Template(
            template % injection).generate() + randomword()