diff --git a/burpui/api/admin.py b/burpui/api/admin.py index 6769659b..af4233a8 100644 --- a/burpui/api/admin.py +++ b/burpui/api/admin.py @@ -1492,7 +1492,10 @@ class MySessions(Resource): store = session_manager.get_session_by_id(str(id)) if not store: self.abort('Session not found') - if store.user != user: + if store.user != user and \ + not current_user.is_anonymous and \ + not current_user.acl.is_admin() and \ + not current_user.acl.is_moderator(): self.abort(403, 'Insufficient permissions') if session_manager.invalidate_session_by_id(store.uuid): session_manager.delete_session_by_id(store.uuid) diff --git a/burpui/routes.py b/burpui/routes.py index 296d968f..44f01e04 100644 --- a/burpui/routes.py +++ b/burpui/routes.py @@ -128,6 +128,16 @@ def settings(server=None, conf=None): ) +@view.route('/admin/sessions/') +@login_required +def admin_sessions(user): + # Only the admin can access this page + if not current_user.is_anonymous and not current_user.acl.is_admin() and \ + not current_user.acl.is_moderator(): + abort(403) + return render_template('admin/sessions.html', admin=True, sessions=True, user=user, ng_controller='AdminCtrl') + + @view.route('/admin/authentication/') @login_required def admin_authentication(user): diff --git a/burpui/static/dashboard.css b/burpui/static/dashboard.css index 1f98ad36..ef6b0d5f 100644 --- a/burpui/static/dashboard.css +++ b/burpui/static/dashboard.css @@ -396,7 +396,7 @@ td { -o-transition: all 0.3s ease; transition: all 0.3s ease; } -#back-to-top span { +#back-to-top i { color: #fff; margin: 0; position: relative; @@ -412,7 +412,7 @@ td { #back-to-top:hover { background: #428bca; } -#back-to-top:hover span { +#back-to-top:hover i { color: #fff; top: 5px; } diff --git a/burpui/templates/admin.html b/burpui/templates/admin.html index d271062f..a4913592 100644 --- a/burpui/templates/admin.html +++ b/burpui/templates/admin.html @@ -11,7 +11,7 @@
{{ _('Authentication') }}
-  {{ _('Loading, Please wait...') }} + {{ _('Loading, Please wait...') }}
@@ -46,14 +46,14 @@