feat: section main files

This commit is contained in:
cheeest 2025-04-05 22:42:20 +03:00
parent 5ce2555f95
commit 7aa60e1240
7 changed files with 44 additions and 18 deletions

32
app.py
View File

@ -38,7 +38,19 @@ def close_connection(exception):
def index(): def index():
return render_template('index.html') return render_template('index.html')
@app.route("/sql-injection", methods=('GET', 'POST')) @app.route("/web")
def web():
return render_template('web-main.html')
@app.route("/forensic")
def forensic():
return render_template('forensic-main.html')
@app.route("/osint")
def osint():
return render_template('osint-main.html')
@app.route("web/sql-injection", methods=('GET', 'POST'))
def sql(): def sql():
if request.method == 'POST': if request.method == 'POST':
login = request.form['login'] login = request.form['login']
@ -52,20 +64,20 @@ def sql():
return redirect(url_for('success_login'), code=302) return redirect(url_for('success_login'), code=302)
return render_template('sql-injection.html') return render_template('sql-injection.html')
@app.route("/found-me") @app.route("/task1-metadata")
def found(): def task1():
session['task1_id'] = id = hex(getrandbits(45))[2:] session['task1_id'] = id = hex(getrandbits(45))[2:]
session['task1_flag'] = flag_task1 = f'C4TchFl4g{{{hex(getrandbits(45))[2:]}}}' session['task1_flag'] = flag_task1 = f'C4TchFl4g{{{hex(getrandbits(45))[2:]}}}'
task1_flag(flag_task1, id) task1_flag(flag_task1, id)
if request.method == 'POST': if request.method == 'POST':
user_flag = request.form['user_flag'] user_flag = request.form['user_flag']
if user_flag == flag_task1: if user_flag == flag_task1:
return render_template('found.html', flag=flag_task1, success_flag='.') return render_template('task1-metadata.html', flag=flag_task1, success_flag='.')
return render_template('found.html', flag=flag_task1, error='Ошибка: неверный флаг!') return render_template('task1-metadata.html', flag=flag_task1, error='Ошибка: неверный флаг!')
if flag_task1: if flag_task1:
return render_template('found.html', flag=flag_task1) return render_template('task1-metadata.html', flag=flag_task1)
abort(404) abort(404)
return render_template('found.html') return render_template('task1-metadata.html')
@app.route("/found-me/task1") @app.route("/found-me/task1")
def forensic_task1(): def forensic_task1():
@ -81,10 +93,10 @@ def success_login():
if request.method == 'POST': if request.method == 'POST':
user_flag = request.form['user_flag'] user_flag = request.form['user_flag']
if user_flag == flag: if user_flag == flag:
return render_template('success.html', flag=flag, success_flag='.') return render_template('success-sql.html', flag=flag, success_flag='.')
return render_template('success.html', flag=flag, error='Ошибка: неверный флаг!') return render_template('success-sql.html', flag=flag, error='Ошибка: неверный флаг!')
if flag: if flag:
return render_template('success.html', flag=flag) return render_template('success-sql.html', flag=flag)
abort(404) abort(404)
@app.errorhandler(werkzeug.exceptions.NotFound) @app.errorhandler(werkzeug.exceptions.NotFound)

View File

@ -3,9 +3,9 @@
<nav class="navlink"> <nav class="navlink">
<a href="{{ url_for('index') }}" class="link">на главную</a> <a href="{{ url_for('index') }}" class="link">на главную</a>
{%- for link, text in ( {%- for link, text in (
('sql', 'Sql-инъекция'), ('web', 'Web'),
('found', 'Форензика'), ('forensic', 'Форензика'),
('decode', 'Криптография'), ('osint', 'OSINT'),
) %} ) %}
{%- if request.path != url_for(link) %} {%- if request.path != url_for(link) %}
<a href="{{ url_for(link) }}" class="link">{{ text }}</a> <a href="{{ url_for(link) }}" class="link">{{ text }}</a>

View File

@ -0,0 +1,4 @@
<html lang="ru">
{% include '_head.html' %}
<body>
{% include '_header.html' %}

View File

@ -9,11 +9,9 @@
<p class="simpletext">Разделы заданий:</p> <p class="simpletext">Разделы заданий:</p>
<nav class="navbtn"> <nav class="navbtn">
{%- for name, descr in ( {%- for name, descr in (
('sql', "Sql-инъекция"), ('web', "Web"),
('found', "Форензика"), ('forensic', "Форензика"),
('decode', "Криптография"), ('osint', "OSINT"),
('index', "ещё таск"),
('index', "и еще один таск")
) %} ) %}
<a href="{{ url_for(name) }}" class="btn1">{{ descr }}</a> <a href="{{ url_for(name) }}" class="btn1">{{ descr }}</a>
{%- endfor %} {%- endfor %}
@ -32,6 +30,10 @@
Сайт, где много крутого про Web - Сайт, где много крутого про Web -
<a target="_blank" rel="noopener noreferrer" class="btn2" href="https://portswigger.net/web-security">PortSwigger</a> <a target="_blank" rel="noopener noreferrer" class="btn2" href="https://portswigger.net/web-security">PortSwigger</a>
</p> </p>
<p>
CTF Новости России -
<a target="_blank" rel="noopener noreferrer" class="btn2" href="https://ctfnews.ru/">CTF News</a>
</p>
</nav> </nav>
</div> </div>

View File

@ -0,0 +1,4 @@
<html lang="ru">
{% include '_head.html' %}
<body>
{% include '_header.html' %}

4
templates/web-main.html Normal file
View File

@ -0,0 +1,4 @@
<html lang="ru">
{% include '_head.html' %}
<body>
{% include '_header.html' %}