iiuni / projektzapisy

System Zapisów na zajęcia w Instytucie Informatyki Uniwersytetu Wrocławskiego
https://zapisy.ii.uni.wroc.pl
32 stars 10 forks source link

RedirectException: Non-local url is forbidden to be redirected to. #1444

Open rollbar[bot] opened 1 year ago

rollbar[bot] commented 1 year ago

View details in Rollbar: https://rollbar.com/iiuni/projektzapisy/items/506/

Traceback (most recent call last):
  File "/home/zapisy/deploy/releases/20220914100634/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/zapisy/deploy/releases/20220914100634/venv/lib/python3.8/site-packages/newrelic/hooks/framework_django.py", line 554, in wrapper
    return wrapped(*args, **kwargs)
  File "/home/zapisy/deploy/releases/20220914100634/venv/lib/python3.8/site-packages/django/views/generic/base.py", line 70, in view
    return self.dispatch(request, *args, **kwargs)
  File "/home/zapisy/deploy/releases/20220914100634/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 43, in _wrapper
    return bound_method(*args, **kwargs)
  File "/home/zapisy/deploy/releases/20220914100634/venv/lib/python3.8/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/home/zapisy/deploy/releases/20220914100634/venv/lib/python3.8/site-packages/django_cas_ng/views.py", line 72, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "/home/zapisy/deploy/releases/20220914100634/venv/lib/python3.8/site-packages/newrelic/hooks/framework_django.py", line 944, in wrapper
    return wrapped(*args, **kwargs)
  File "/home/zapisy/deploy/releases/20220914100634/venv/lib/python3.8/site-packages/django/views/generic/base.py", line 98, in dispatch
    return handler(request, *args, **kwargs)
  File "/home/zapisy/deploy/releases/20220914100634/venv/lib/python3.8/site-packages/django_cas_ng/views.py", line 103, in get
    next_page = clean_next_page(request, request.GET.get('next'))
  File "/home/zapisy/deploy/releases/20220914100634/venv/lib/python3.8/site-packages/django_cas_ng/views.py", line 45, in clean_next_page
    raise RedirectException("Non-local url is forbidden to be redirected to.")
RedirectException: Non-local url is forbidden to be redirected to.
lgpawel commented 1 year ago

Rollbar naliczył już 11 wystąpień, więc z jednej strony problem nie jest jakiś masowy ani bardzo poważny, a z drugiej nie tak całkiem rzadki i niedorzeczny. Warto załatwić temat choćby dla uciszenia wyjątków, ale może jest tu nieco więcej.

Wszystkie wystąpienia (które, sądząc z czasów i adresów IP, przytafiły się 2-4 osobom) wynikły przy wejściu na hxxps://zapisy.ii.uni.wroc.pl/accounts/login?next=https%3A%2F%2Fwww.google.com%2F&ticket=COŚTAM (zepsuty link, żeby bezmyślnie nie klikać i nie generować kolejnych wystąpień) – w szczególności konsekwentnie z tą samą wartością next w query string – więc być może jest jakiś scenariusz, w którym "legitnie" pod taki adres się trafia. Ale w plikach projektu adres www.google.com nigdzie nie jest zahardkodowany…