monitoring.helixp.alzp.tgscloud.net Open in urlscan Pro
18.184.89.221  Public Scan

URL: https://monitoring.helixp.alzp.tgscloud.net/
Submission Tags: phishingrod
Submission: On April 11 via api from DE — Scanned from DE

Form analysis 1 forms found in the DOM

<form>
  <p>PIN: <input type="text" name="pin" size="14">
    <input type="submit" name="btn" value="Confirm Pin">
  </p>
</form>

Text Content

KEYERROR

KeyError: 'HTTP_X_AMZN_OIDC_DATA'


TRACEBACK (MOST RECENT CALL LAST)

 * FILE "/USR/LOCAL/LIB/PYTHON3.10/SITE-PACKAGES/FLASK/APP.PY", LINE 2552, IN
   __CALL__
   
       def __call__(self, environ: dict, start_response: t.Callable) -> t.Any:
   
           """The WSGI server calls the Flask application object as the
   
           WSGI application. This calls :meth:`wsgi_app`, which can be
   
           wrapped to apply middleware.
   
           """
   
           return self.wsgi_app(environ, start_response)

 * FILE "/USR/LOCAL/LIB/PYTHON3.10/SITE-PACKAGES/FLASK/APP.PY", LINE 2532, IN
   WSGI_APP
   
               try:
   
                   ctx.push()
   
                   response = self.full_dispatch_request()
   
               except Exception as e:
   
                   error = e
   
                   response = self.handle_exception(e)
   
               except:  # noqa: B001
   
                   error = sys.exc_info()[1]
   
                   raise
   
               return response(environ, start_response)
   
           finally:

 * FILE "/USR/LOCAL/LIB/PYTHON3.10/SITE-PACKAGES/FLASK/APP.PY", LINE 2529, IN
   WSGI_APP
   
           ctx = self.request_context(environ)
   
           error: t.Optional[BaseException] = None
   
           try:
   
               try:
   
                   ctx.push()
   
                   response = self.full_dispatch_request()
   
               except Exception as e:
   
                   error = e
   
                   response = self.handle_exception(e)
   
               except:  # noqa: B001
   
                   error = sys.exc_info()[1]

 * FILE "/USR/LOCAL/LIB/PYTHON3.10/SITE-PACKAGES/FLASK/APP.PY", LINE 1825, IN
   FULL_DISPATCH_REQUEST
   
               request_started.send(self)
   
               rv = self.preprocess_request()
   
               if rv is None:
   
                   rv = self.dispatch_request()
   
           except Exception as e:
   
               rv = self.handle_user_exception(e)
   
           return self.finalize_request(rv)
   
    
   
       def finalize_request(
   
           self,
   
           rv: t.Union[ft.ResponseReturnValue, HTTPException],

 * FILE "/USR/LOCAL/LIB/PYTHON3.10/SITE-PACKAGES/FLASK/APP.PY", LINE 1823, IN
   FULL_DISPATCH_REQUEST
   
    
   
           try:
   
               request_started.send(self)
   
               rv = self.preprocess_request()
   
               if rv is None:
   
                   rv = self.dispatch_request()
   
           except Exception as e:
   
               rv = self.handle_user_exception(e)
   
           return self.finalize_request(rv)
   
    
   
       def finalize_request(

 * FILE "/USR/LOCAL/LIB/PYTHON3.10/SITE-PACKAGES/FLASK/APP.PY", LINE 1799, IN
   DISPATCH_REQUEST
   
               and req.method == "OPTIONS"
   
           ):
   
               return self.make_default_options_response()
   
           # otherwise dispatch to the handler for that endpoint
   
           view_args: t.Dict[str, t.Any] = req.view_args  # type: ignore[assignment]
   
           return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
   
    
   
       def full_dispatch_request(self) -> Response:
   
           """Dispatches the request and on top of that performs request
   
           pre and postprocessing as well as HTTP exception catching and
   
           error handling.

 * FILE "/APP/AUTHORIZATION.PY", LINE 17, IN DECORATOR
   
       To create a specific decorator with a value for required_groups, use functools.partial (see below)
   
       """
   
       @wraps(function)
   
       def decorator(*args, **kwargs):
   
    
   
           user = get_user_authorization(get_user(request))
   
           # User not registered to access app, return Unauthorized page
   
           if user is None:
   
               return render_template('non_existing_user.html', non_authorized=True)
   
    
   
           # User have correct groups, then redirect to page

 * FILE "/APP/AUTHORIZATION.PY", LINE 43, IN GET_USER
   
    
   
   def get_user(request):
   
       """ Get user email from jwt headers of the request
   
       """
   
       # Get the key id from JWT headers (the kid field)
   
       encoded_jwt = request.headers['x-amzn-oidc-data']
   
       jwt_headers = encoded_jwt.split('.')[0]
   
       decoded_jwt_headers = base64.b64decode(jwt_headers).decode("utf-8")
   
       decoded_json = json.loads(decoded_jwt_headers)
   
       kid = decoded_json['kid']
   
       # Get the public key from regional endpoint

 * FILE
   "/USR/LOCAL/LIB/PYTHON3.10/SITE-PACKAGES/WERKZEUG/DATASTRUCTURES/HEADERS.PY",
   LINE 493, IN __GETITEM__
   
           if not isinstance(key, str):
   
               raise KeyError(key)
   
           key = key.upper().replace("-", "_")
   
           if key in {"CONTENT_TYPE", "CONTENT_LENGTH"}:
   
               return self.environ[key]
   
           return self.environ[f"HTTP_{key}"]
   
    
   
       def __len__(self):
   
           # the iter is necessary because otherwise list calls our
   
           # len which would call list again and so forth.
   
           return len(list(iter(self)))

> KeyError: 'HTTP_X_AMZN_OIDC_DATA'

This is the Copy/Paste friendly version of the traceback.

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 2552, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 2532, in wsgi_app
    response = self.handle_exception(e)
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 2529, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1825, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1823, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/app/authorization.py", line 17, in decorator
    user = get_user_authorization(get_user(request))
  File "/app/authorization.py", line 43, in get_user
    encoded_jwt = request.headers['x-amzn-oidc-data']
  File "/usr/local/lib/python3.10/site-packages/werkzeug/datastructures/headers.py", line 493, in __getitem__
    return self.environ[f"HTTP_{key}"]
KeyError: 'HTTP_X_AMZN_OIDC_DATA'


The debugger caught an exception in your WSGI application. You can now look at
the traceback which led to the error.

To switch between the interactive traceback and the plaintext one, you can click
on the "Traceback" headline. From the text traceback you can also create a paste
of it. For code execution mouse-over the frame you want to debug and click on
the console icon on the right side.

You can execute arbitrary Python code in the stack frames and there are some
extra helpers available for introspection:

 * dump() shows all variables in the frame
 * dump(obj) dumps all that's known about the object

Brought to you by DON'T PANIC, your friendly Werkzeug powered traceback
interpreter.


CONSOLE LOCKED

The console is locked and needs to be unlocked by entering the PIN. You can find
the PIN printed out on the standard output of your shell that runs the server.

PIN: