{'context_id': 470, 'vulnerable': True, 'processing': False, 'request': {'url': 'http://www.jackson.net/categories/category/wp-contentmain.jsp', 'method': 'DELETE', 'headers': {'HOST': '127.0.0.1:5000', 'USER_AGENT': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0', 'ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'ACCEPT_LANGUAGE': 'en-US,en;q=0.5', 'ACCEPT_ENCODING': 'gzip, deflate, br, zstd', 'CONNECTION': 'keep-alive', 'REFERER': 'http://127.0.0.1:5000/xss/reflected?search=43gfa3s4ga3s4g4gsa4g%22%3AP%2832q42r', 'COOKIE': 'csrftoken=7GgBqVlBL6WuGdfu3e6EBXep8N5vFiVm; grafana_session=54c841e9cb2f4956a7c791efd284d120; grafana_session_expiry=1735995560; user_id=2; session_token=b3c634c91e1711c794704a031918a34b', 'UPGRADE_INSECURE_REQUESTS': '1', 'SEC_FETCH_DEST': 'document', 'SEC_FETCH_MODE': 'navigate', 'SEC_FETCH_SITE': 'same-origin', 'SEC_FETCH_USER': '?1', 'PRIORITY': 'u=0, i', 'Content-Type': 'application/json', 'User-Agent': 'Opera/8.59.(X11; Linux x86_64; tcy-IN) Presto/2.9.170 Version/11.00'}, 'body': b'csrfmiddlewaretoken=8ec44e3f-00fe-4710-aa78-b02b2f300a13&newpass1=Gql1foE5&newpass2=vUCEyFDp'}, 'control_flow': {0: "api_key = request.cookies.get('api_key')", 1: 'if API_KEY is None or api_key == API_KEY:', 2: 'return f(*args, **kwargs)', 3: 'pass', 4: "if request.method == 'GET':", 5: 'return xss_stored_page(request, app)', 6: "messages = app.db_helper.execute_read('SELECT * FROM messages', {})", 7: 'con = None', 8: 'try:', 9: 'con = self._get_db_connection()', 10: 'return sqlite3.connect(self.DB_FILE_PATH)', 11: 'cur = con.cursor()', 12: 'cur.execute(sql, params)', 13: 'result = cur.fetchall()', 14: 'return result', 15: 'if con is not None:', 16: 'con.close()', 17: 'return result', 18: 'messages = list(map(lambda it: it[0], messages))', 19: 'messages = list(map(lambda it: it[0], messages))', 20: "return render_template('xss-stored.html', messages=messages)", 21: '{% extends "base.html" %}', 22: '{% block content %}', 23: '', 24: '<h1 class="title">XSS - Stored</h1>', 25: '<div class="field is-grouped">', 26: '{% endblock %}', 27: '{% endblock %}', 28: '', 29: '<div class="block">', 30: '', 31: '<form action="/xss/stored" method="post">', 32: '<label class="label">Name</label>', 33: '<div class="control">', 34: '<input class="input" type="text" placeholder="Text input" id="message" name="message" required minlength="3">', 35: '<div class="control">', 36: '<input class="input" type="text" placeholder="Text input" id="message" name="message" required minlength="3">', 37: '<div class="control">', 38: '</div>', 39: '<meta name="viewport" content="width=device-width, initial-scale=1.0">', 40: '<link rel="stylesheet" href="{{ url_for(\'static\', filename=\'assets/bulma.min.css\') }}">', 41: '<title>Vuln Python App</title>', 42: '<body>', 43: '{% include "./components/navbar.html" %}', 44: '<section class="section">', 45: '{% block content %}{% endblock %}', 46: '</div>', 47: '</section>', 48: '', 49: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 50: '', 51: '<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="False" data-target="navbarBasicExample">', 52: '<span aria-hidden="True"></span>', 53: '<span aria-hidden="True"></span>', 54: '</div> -->', 55: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 56: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 57: '', 58: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 59: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 60: '<div id="navbarBasicExample" class="navbar-menu">', 61: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 62: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 63: '<div class="navbar-start">', 64: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 65: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 66: '<a class="navbar-item" href="{{ url_for(\'home\') }}">', 67: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 68: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 69: 'Home', 70: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 71: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 72: '</a>', 73: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 74: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 75: '', 76: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 77: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 78: '<div class="navbar-item has-dropdown is-hoverable">', 79: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 80: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 81: '<a class="navbar-link">', 82: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 83: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 84: 'SQL Injection', 85: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 86: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 87: '</a>', 88: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 89: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 90: '', 91: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 92: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 93: '<div class="navbar-dropdown">', 94: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 95: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 96: '<a class="navbar-item" href="{{ url_for(\'sql_injection_login\') }}">', 97: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 98: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 99: 'Login', 100: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 101: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 102: '</a>', 103: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 104: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 105: '<a class="navbar-item" href="{{ url_for(\'sql_injection_search\') }}?q=">', 106: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 107: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 108: 'Search', 109: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 110: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 111: '</a>', 112: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 113: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 114: '</div>', 115: '<script src="{{ url_for(\'static\', filename=\'assets/global.js\') }}"></script>', 116: '<script src="{{ url_for(\'static\', filename=\'assets/axios.min.js\') }}"></script>', 117: '<script>', 118: "// var googleCaptchaKey = '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI';", 119: '<div class="control">', 120: '<button class="button is-link" type="submit">Submit</button>', 121: '</div>', 122: '</form>', 123: '', 124: '<div class="block">', 125: '<h2 class="subtitle">Messages</h2>', 126: '<div class="content">', 127: '{% autoescape False %}', 128: '{% for msg in messages %}', 129: '<article class="message">', 130: '{{ msg }}', 131: '</div>', 132: '</article>', 133: '{% for msg in messages %}', 134: '{% endfor %}', 135: '{% endautoescape %}', 136: '</div>', 137: '</div>', 138: '</section>', 139: "// var googleCatpchaSecretKey = '6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe';", 140: '', 141: "var googleCaptchaKey = '{{ GOOGLE_RECAPTCHA_SITE_KEY }}';", 142: "var googleCatpchaSecretKey = '{{ GOOGLE_RECAPTCHA_SECRET_KEY }}';", 143: '', 144: '</script>', 145: '', 146: '{% block js %}{% endblock %}', 147: '</body>', 148: '</html>', 149: 'None', 150: 'None', 151: 'None', 152: 'None', 153: 'None', 154: '</html>'}, 'response': {'status_code': '200', 'headers': {'Content-Type': 'text/html; charset=utf-8', 'Content-Length': '3990'}}}