Compare commits
4 Commits
22cdb19d98
...
fe43dc0497
Author | SHA1 | Date | |
---|---|---|---|
fe43dc0497 | |||
f585a49b5b | |||
0a70a407e5 | |||
7c068e0c89 |
56
app.py
56
app.py
@ -51,7 +51,7 @@ def osint():
|
||||
return render_template('osint-main.html')
|
||||
|
||||
@app.route("/web/sql-injection", methods=('GET', 'POST'))
|
||||
def sql():
|
||||
def websql():
|
||||
if request.method == 'POST':
|
||||
login = request.form['login']
|
||||
password = request.form['pass']
|
||||
@ -64,8 +64,24 @@ def sql():
|
||||
return redirect(url_for('success_login'), code=302)
|
||||
return render_template('sql-injection.html')
|
||||
|
||||
@app.route("/forensic/task1-metadata")
|
||||
def task1():
|
||||
@app.route("/web/idor")
|
||||
def webidor():
|
||||
return render_template('idor.html')
|
||||
|
||||
@app.route("/web/path-traversal")
|
||||
def webpt():
|
||||
return render_template('path-traversal.html')
|
||||
|
||||
@app.route("/web/ssti")
|
||||
def webssti():
|
||||
return render_template('ssti.html')
|
||||
|
||||
@app.route("/web/portswigger-guide")
|
||||
def webpsguide():
|
||||
return render_template('portswigger-guide.html')
|
||||
|
||||
@app.route("/forensic/metadata")
|
||||
def fmetadata():
|
||||
session['task1_id'] = id = hex(getrandbits(45))[2:]
|
||||
session['task1_flag'] = flag_task1 = f'C4TchFl4g{{{hex(getrandbits(45))[2:]}}}'
|
||||
task1_flag(flag_task1, id)
|
||||
@ -79,15 +95,39 @@ def task1():
|
||||
abort(404)
|
||||
return render_template('task1-metadata.html')
|
||||
|
||||
@app.route("/found-me/task1")
|
||||
@app.route("/found-me/task1") #TODO
|
||||
def forensic_task1():
|
||||
return send_file(f'/tmp/task1/{session['task1_id']}.jpg')
|
||||
|
||||
@app.route("/decode-me")
|
||||
def decode():
|
||||
return render_template('decode.html')
|
||||
@app.route("/forensic/base-guide")
|
||||
def fbase():
|
||||
return render_template('base.html')
|
||||
|
||||
@app.route("/success_login", methods=('GET', 'POST'))
|
||||
@app.route("/forensic/.docx_files")
|
||||
def fbinwalk():
|
||||
return render_template('binwalk.html')
|
||||
|
||||
@app.route("/forensic/hex")
|
||||
def fhex():
|
||||
return render_template('hex.html')
|
||||
|
||||
@app.route("/forensic/hash")
|
||||
def fhash():
|
||||
return render_template('hash.html')
|
||||
|
||||
@app.route("/osint/questions")
|
||||
def osintquestions():
|
||||
return render_template('osint-questions.html')
|
||||
|
||||
@app.route("/osint/geoguessr")
|
||||
def osintgeoguessr():
|
||||
return render_template('osint-geoguessr.html')
|
||||
|
||||
@app.route("/osint/really_hard_task")
|
||||
def osintrht():
|
||||
return render_template('osint-hardtask.html')
|
||||
|
||||
@app.route("/success_login-sqltask", methods=('GET', 'POST'))
|
||||
def success_login():
|
||||
flag = session.get('sql_flag')
|
||||
if request.method == 'POST':
|
||||
|
19
templates/_forensicsidenav.html
Normal file
19
templates/_forensicsidenav.html
Normal file
@ -0,0 +1,19 @@
|
||||
<div class="navigation capsule-window">
|
||||
<div class="decore1"></div>
|
||||
<nav class="navlink">
|
||||
<a href="{{ url_for('index') }}" class="link">На главную</a>
|
||||
{%- for link, text in (
|
||||
('fmetadata', "Метаданные и как их найти"),
|
||||
('fbinwalk', "Что не так с моим докладом?"),
|
||||
('fbase', "0K3RgtC+INCx0LDQt9Cw"),
|
||||
('fhex', "Hex в картинках"),
|
||||
('fhash', "Зачем Cat нужен hash"),
|
||||
) %}
|
||||
{%- if request.path != url_for(link) %}
|
||||
<a href="{{ url_for(link) }}" class="link">{{ text }}</a>
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
{#- <!-- <a href="">rfi</a>--> #}
|
||||
{#- <!-- <a href="">lfi</a>--> #}
|
||||
</nav>
|
||||
</div>
|
@ -1,7 +1,7 @@
|
||||
<div class="navigation capsule-window">
|
||||
<div class="decore1"></div>
|
||||
<nav class="navlink">
|
||||
<a href="{{ url_for('index') }}" class="link">на главную</a>
|
||||
<a href="{{ url_for('index') }}" class="link">На главную</a>
|
||||
{%- for link, text in (
|
||||
('web', 'Web'),
|
||||
('forensic', 'Форензика'),
|
17
templates/_osintsidenav.html
Normal file
17
templates/_osintsidenav.html
Normal file
@ -0,0 +1,17 @@
|
||||
<div class="navigation capsule-window">
|
||||
<div class="decore1"></div>
|
||||
<nav class="navlink">
|
||||
<a href="{{ url_for('index') }}" class="link">На главную</a>
|
||||
{%- for link, text in (
|
||||
('osintquestions', "Чур ответы не гуглить!"),
|
||||
('osintgeoguessr', "Мастер яндекс-карт"),
|
||||
('osintrht', "Реально сложный таск"),
|
||||
) %}
|
||||
{%- if request.path != url_for(link) %}
|
||||
<a href="{{ url_for(link) }}" class="link">{{ text }}</a>
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
{#- <!-- <a href="">rfi</a>--> #}
|
||||
{#- <!-- <a href="">lfi</a>--> #}
|
||||
</nav>
|
||||
</div>
|
@ -10,7 +10,7 @@
|
||||
|
||||
{% block content -%}{% endblock -%}
|
||||
|
||||
{% include '_sidenav.html' %}
|
||||
|
||||
<img id="help" onclick="showPopup()" src="{{ url_for('static', filename='imgs/icon.png') }}">
|
||||
</body>
|
||||
|
||||
|
19
templates/_websidenav.html
Normal file
19
templates/_websidenav.html
Normal file
@ -0,0 +1,19 @@
|
||||
<div class="navigation capsule-window">
|
||||
<div class="decore1"></div>
|
||||
<nav class="navlink">
|
||||
<a href="{{ url_for('index') }}" class="link">На главную</a>
|
||||
{%- for link, text in (
|
||||
('websql', "SQL-инъекция"),
|
||||
('webidor', "Уязвимость IDOR"),
|
||||
('webpt', "Уязвимость Path Traversal"),
|
||||
('webssti', "Уязвимость SSTI"),
|
||||
('webpsguide', "Немного о PortSwigger"),
|
||||
) %}
|
||||
{%- if request.path != url_for(link) %}
|
||||
<a href="{{ url_for(link) }}" class="link">{{ text }}</a>
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
{#- <!-- <a href="">rfi</a>--> #}
|
||||
{#- <!-- <a href="">lfi</a>--> #}
|
||||
</nav>
|
||||
</div>
|
@ -1 +0,0 @@
|
||||
{% extends '_task.html' %}
|
@ -1,6 +1,22 @@
|
||||
<html lang="ru">
|
||||
{% include '_head.html' %}
|
||||
<body>
|
||||
{% include '_header.html' %}
|
||||
{% include '_sidenav.html' %}
|
||||
<img id="help" src="{{ url_for('static', filename='imgs/icon.png') }}">
|
||||
{% include '_head.html' %}
|
||||
<body>
|
||||
{% include '_header.html' %}
|
||||
{% include '_mainsidenav.html' %}
|
||||
<div class="container">
|
||||
<div class="small info1 capsule-window">
|
||||
<p class="simpletext">< Задания категории Форензика ></p>
|
||||
<nav class="navbtn">
|
||||
{%- for name, descr in (
|
||||
('fmetadata', "Метаданные и как их найти"),
|
||||
('fbinwalk', "Что не так с моим докладом?"),
|
||||
('fbase', "0K3RgtC+INCx0LDQt9Cw"),
|
||||
('fhex', "Hex в картинках"),
|
||||
('fhash', "Зачем Cat нужен hash"),
|
||||
) %}
|
||||
<a href="{{ url_for(name) }}" class="btn1">{{ descr }}</a>
|
||||
{%- endfor %}
|
||||
</div>
|
||||
<img id="help" src="{{ url_for('static', filename='imgs/icon.png') }}">
|
||||
</body>
|
||||
</html>
|
@ -1,6 +1,20 @@
|
||||
<html lang="ru">
|
||||
{% include '_head.html' %}
|
||||
<body>
|
||||
{% include '_header.html' %}
|
||||
{% include '_sidenav.html' %}
|
||||
<img id="help" src="{{ url_for('static', filename='imgs/icon.png') }}">
|
||||
{% include '_head.html' %}
|
||||
<body>
|
||||
{% include '_header.html' %}
|
||||
{% include '_mainsidenav.html' %}
|
||||
<div class="container">
|
||||
<div class="small info1 capsule-window">
|
||||
<p class="simpletext">< Задания категории OSINT ></p>
|
||||
<nav class="navbtn">
|
||||
{%- for name, descr in (
|
||||
('osintquestions', "Чур ответы не гуглить!"),
|
||||
('osintgeoguessr', "Профессионал Яндекс-карт"),
|
||||
('osintrht', "Реально сложный таск"),
|
||||
) %}
|
||||
<a href="{{ url_for(name) }}" class="btn1">{{ descr }}</a>
|
||||
{%- endfor %}
|
||||
</div>
|
||||
<img id="help" src="{{ url_for('static', filename='imgs/icon.png') }}">
|
||||
</body>
|
||||
</html>
|
6
templates/osint-questions.html
Normal file
6
templates/osint-questions.html
Normal file
@ -0,0 +1,6 @@
|
||||
{% extends '_task.html' %}
|
||||
{% include '_osintsidenav.html' %}
|
||||
{% block content %}
|
||||
|
||||
|
||||
{% endblock %}
|
@ -1,5 +1,5 @@
|
||||
{% extends '_task.html' %}
|
||||
|
||||
{% include '_websidenav.html' %}
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<div id="popup" class="sql-guide capsule-window">
|
||||
@ -35,4 +35,3 @@ cursor.execute(f'SELECT * FROM Users WHERE login == "{login}" AND password == "{
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
D
|
@ -1,4 +1,5 @@
|
||||
{% extends '_task.html' %}
|
||||
{% include '_forensicsidenav.html' %}
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<div class="capsule-window info1">
|
||||
|
@ -1,6 +1,22 @@
|
||||
<html lang="ru">
|
||||
{% include '_head.html' %}
|
||||
<body>
|
||||
{% include '_header.html' %}
|
||||
{% include '_sidenav.html' %}
|
||||
<img id="help" src="{{ url_for('static', filename='imgs/icon.png') }}">
|
||||
{% include '_head.html' %}
|
||||
<body>
|
||||
{% include '_header.html' %}
|
||||
{% include '_mainsidenav.html' %}
|
||||
<div class="container">
|
||||
<div class="small info1 capsule-window">
|
||||
<p class="simpletext">< Задания категории Web ></p>
|
||||
<nav class="navbtn">
|
||||
{%- for name, descr in (
|
||||
('websql', "SQL-инъекция"),
|
||||
('webidor', "Уязвимость IDOR"),
|
||||
('webpt', "Уязвимость Path Traversal"),
|
||||
('webssti', "Уязвимость SSTI"),
|
||||
('webpsguide', "Немного о PortSwigger"),
|
||||
) %}
|
||||
<a href="{{ url_for(name) }}" class="btn1">{{ descr }}</a>
|
||||
{%- endfor %}
|
||||
</div>
|
||||
<img id="help" src="{{ url_for('static', filename='imgs/icon.png') }}">
|
||||
</body>
|
||||
</html>
|
Loading…
x
Reference in New Issue
Block a user