This commit is contained in:
Mateusz Gruszczyński
2025-11-01 21:58:55 +01:00
parent 57d2db2c2f
commit ca0ebd6816
10 changed files with 565 additions and 922 deletions

View File

@@ -1,68 +1,50 @@
{% extends "base.html" %}
{% set active_page = "" %}
{% block title %}HAProxy • Logs{% endblock %}
{% block head %}
{% endblock %}
{% block breadcrumb %}<nav aria-label="breadcrumb" class="mb-3"><ol class="breadcrumb mb-0"><li class="breadcrumb-item"><a href="{{ url_for('main.index') }}"><i class="bi bi-house"></i></a></li><li class="breadcrumb-item active" aria-current="page">Logi</li></ol></nav>{% endblock %}
{% block content %}
<h3 style="margin-top: 30px; margin-bottom: 30px; margin-left: 10%;" id="status_header">Status 403 Forbidden Log Entries</h3>
<div>
{% for entry in entries %}
<div class="log-entry" style="padding: 20px; width: 80%; margin-left: 10%; margin-bottom: 1%;">
<p><strong>Time Stamp:</strong> {{ entry['timestamp'] }}</p>
<p><strong>IP Address:</strong> {{ entry['ip_address'] }}</p>
<p><strong>HTTP Method:</strong> {{ entry['http_method'] }}</p>
<p id="requested_url"><strong>Requested URL:</strong> {{ entry['requested_url'] }}</p>
<!-- XSS Category -->
{% if entry['xss_alert'] %}
<p class="collapse-trigger" data-bs-toggle="collapse" data-bs-target="#xssCollapse{{ loop.index }}">XSS Alert <span class="text-danger">(Click to show details)</span></p>
<div id="xssCollapse{{ loop.index }}" class="collapse">
<p style="color: red"><strong>{{ entry['xss_alert'] }}</strong></p>
</div>
{% endif %}
<!-- SQL Category -->
{% if entry['sql_alert'] %}
<p class="collapse-trigger" data-bs-toggle="collapse" data-bs-target="#sqlCollapse{{ loop.index }}">SQL Alert <span class="text-danger">(Click to show details)</span></p>
<div id="sqlCollapse{{ loop.index }}" class="collapse">
<p style="color: red"><strong>{{ entry['sql_alert'] }}</strong></p>
</div>
{% endif %}
<!-- PUT Method Category -->
{% if entry['put_method'] %}
<p class="collapse-trigger" data-bs-toggle="collapse" data-bs-target="#putMethodCollapse{{ loop.index }}">PUT Method Alert <span class="text-danger">(Click to show details)</span></p>
<div id="putMethodCollapse{{ loop.index }}" class="collapse">
<p style="color: red"><strong>{{ entry['put_method'] }}</strong></p>
</div>
{% endif %}
<!-- Illegal Resource Access -->
{% if entry['illegal_resource'] %}
<p class="collapse-trigger" data-bs-toggle="collapse" data-bs-target="#putMethodCollapse{{ loop.index }}">Illegal Resource Access Alert <span class="text-danger">(Click to show details)</span></p>
<div id="putMethodCollapse{{ loop.index }}" class="collapse">
<p style="color: red"><strong>{{ entry['illegal_resource'] }}</strong></p>
</div>
{% endif %}
<!-- Illegal Resource Access -->
{% if entry['webshell_alert'] %}
<p class="collapse-trigger" data-bs-toggle="collapse" data-bs-target="#putMethodCollapse{{ loop.index }}">WebShell Attack Alert <span class="text-danger">(Click to show details)</span></p>
<div id="putMethodCollapse{{ loop.index }}" class="collapse">
<p style="color: red"><strong>{{ entry['webshell_alert'] }}</strong></p>
</div>
{% endif %}
<p><strong>Status Code:</strong> 403</p>
<h3 class="mb-4" id="status_header">Status 403 Forbidden wpisy</h3>
{% if entries %}
<div class="vstack gap-3">
{% for entry in entries %}
<div class="card">
<div class="card-body">
<div class="row g-3">
<div class="col-md-6">
<div><strong>Czas:</strong> {{ entry['timestamp'] }}</div>
<div><strong>IP:</strong> {{ entry['ip_address'] }}</div>
<div><strong>Metoda:</strong> {{ entry['http_method'] }}</div>
<div><strong>URL:</strong> {{ entry['requested_url'] }}</div>
<div><strong>Status:</strong> <span class="badge bg-danger">403</span></div>
</div>
{% endfor %}
</div>
<!-- Footer -->
<footer>
<p>&copy; 2025 HAProxy Configurator. All rights reserved.</p>
</footer>
<div class="col-md-6">
{% if entry['xss_alert'] %}
<p class="mb-1"><button class="btn btn-sm btn-outline-danger" data-bs-toggle="collapse" data-bs-target="#xssCollapse{{ loop.index }}"><i class="bi bi-bug"></i> XSS alert</button></p>
<div id="xssCollapse{{ loop.index }}" class="collapse"><pre class="mb-0 text-danger">{{ entry['xss_alert'] }}</pre></div>
{% endif %}
{% if entry['sql_alert'] %}
<p class="mb-1"><button class="btn btn-sm btn-outline-warning" data-bs-toggle="collapse" data-bs-target="#sqlCollapse{{ loop.index }}"><i class="bi bi-database-exclamation"></i> SQLi alert</button></p>
<div id="sqlCollapse{{ loop.index }}" class="collapse"><pre class="mb-0 text-warning">{{ entry['sql_alert'] }}</pre></div>
{% endif %}
{% if entry['put_method'] %}
<p class="mb-1"><button class="btn btn-sm btn-outline-info" data-bs-toggle="collapse" data-bs-target="#putCollapse{{ loop.index }}"><i class="bi bi-upload"></i> PUT alert</button></p>
<div id="putCollapse{{ loop.index }}" class="collapse"><pre class="mb-0 text-info">{{ entry['put_method'] }}</pre></div>
{% endif %}
{% if entry['illegal_resource'] %}
<p class="mb-1"><button class="btn btn-sm btn-outline-light" data-bs-toggle="collapse" data-bs-target="#illegalCollapse{{ loop.index }}"><i class="bi bi-shield-x"></i> Nielegalny zasób</button></p>
<div id="illegalCollapse{{ loop.index }}" class="collapse"><pre class="mb-0 text-light">{{ entry['illegal_resource'] }}</pre></div>
{% endif %}
{% if entry['webshell_alert'] %}
<p class="mb-1"><button class="btn btn-sm btn-outline-danger" data-bs-toggle="collapse" data-bs-target="#webshellCollapse{{ loop.index }}"><i class="bi bi-file-earmark-code"></i> WebShell alert</button></p>
<div id="webshellCollapse{{ loop.index }}" class="collapse"><pre class="mb-0 text-danger">{{ entry['webshell_alert'] }}</pre></div>
{% endif %}
</div>
</div>
</div>
</div>
{% endfor %}
</div>
{% else %}
<div class="alert alert-info"><i class="bi bi-info-circle me-1"></i>Brak danych.</div>
{% endif %}
{% endblock %}
{% block scripts %}
{% endblock %}