feat(web): path-traversal task and flag accept
This commit is contained in:
parent
a22bc44764
commit
34182b9929
17
app.py
17
app.py
@ -83,9 +83,24 @@ def websql():
|
|||||||
def webidor():
|
def webidor():
|
||||||
return render_template('idor.html')
|
return render_template('idor.html')
|
||||||
|
|
||||||
@app.route("/web/path-traversal")
|
|
||||||
|
@app.route("/web/path-traversal", methods=('GET', 'POST'))
|
||||||
def webpt():
|
def webpt():
|
||||||
|
flag_task3 = 'С4Tch_Fl4g{Y0u_Find_4_littl3_kitty}'
|
||||||
|
if request.method == 'POST':
|
||||||
|
user_flag = request.form['user_flag']
|
||||||
|
if user_flag == flag_task3:
|
||||||
|
return render_template('path-traversal.html', flag=flag_task3, success_flag='.')
|
||||||
|
return render_template('path-traversal.html', flag=flag_task3, error='Ошибка: неверный флаг!')
|
||||||
|
filename = request.args.get("file")
|
||||||
|
if not filename:
|
||||||
return render_template('path-traversal.html')
|
return render_template('path-traversal.html')
|
||||||
|
try:
|
||||||
|
return send_file(filename)
|
||||||
|
except FileNotFoundError:
|
||||||
|
abort(404)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@app.route("/web/ssti", methods=('GET', 'POST'))
|
@app.route("/web/ssti", methods=('GET', 'POST'))
|
||||||
def webssti():
|
def webssti():
|
||||||
|
BIN
static/imgs/cat.jpg
Normal file
BIN
static/imgs/cat.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 23 KiB |
9
static/imgs/flag.txt
Normal file
9
static/imgs/flag.txt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
__ __
|
||||||
|
| \/ |
|
||||||
|
| \ / | ___ _____ ________ _ __ ___ ___ _____ __ _ __ ___ ___ _____ ________ _ __ ___ ___ _____ __
|
||||||
|
| |\/| |/ _ \/ _ \ \ /\ / /______| '_ ` _ \ / _ \/ _ \ \ /\ / / | '_ ` _ \ / _ \/ _ \ \ /\ / /______| '_ ` _ \ / _ \/ _ \ \ /\ / /
|
||||||
|
| | | | __/ (_) \ V V / | | | | | | __/ (_) \ V V / | | | | | | __/ (_) \ V V / | | | | | | __/ (_) \ V V /
|
||||||
|
|_| |_|\___|\___/ \_/\_/ |_| |_| |_|\___|\___/ \_/\_( ) |_| |_| |_|\___|\___/ \_/\_/ |_| |_| |_|\___|\___/ \_/\_/
|
||||||
|
|/
|
||||||
|
|
||||||
|
С4Tch_Fl4g{Y0u_Find_4_littl3_kitty}
|
36
templates/path-traversal.html
Normal file
36
templates/path-traversal.html
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{% extends 'utils/_task.html' %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
{% include 'utils/_forensicsidenav.html' %}
|
||||||
|
|
||||||
|
<div id="popup" class="sql-guide capsule-window">
|
||||||
|
<span class="close-btn usable-context" onclick="hidePopup()">скрыть</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="small capsule-window info1" style="height: auto;">
|
||||||
|
<p class="simpletext"><abbr class="hltext" title="Смотри подсказку(кнопка снизу слева)">Посмотри</abbr> файл и помоги решить задачку, но будь внимателен, стоит проверять, что происходит при нажатии на подозрительные кнопки. Флаг в соотвествующем .txt файле</p>
|
||||||
|
<button class="btn1" onclick="location.href='/web/path-traversal?file=static/imgs/cat.jpg'">
|
||||||
|
К изображению
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flag-input">
|
||||||
|
<h3 class="header" style="text-align:left">Введите ответ:</h3>
|
||||||
|
<form action="/web/path-traversal" method="post" class="simpletext">
|
||||||
|
<input class="inpt" type="text" name="user_flag" style="width: 100%; height: 1.25rem; margin: 0">
|
||||||
|
<input type="submit" value="Submit" class="btn1" style="margin-top: 1.25rem">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% if error %}
|
||||||
|
<div id="error"> <p>{{ error }}</p> </div>
|
||||||
|
{% elif success_flag %}
|
||||||
|
<div class="task-done">
|
||||||
|
<h1 class="header">Вы прошли задание!</h1>
|
||||||
|
<img class="done" src="{{ url_for('static', filename='imgs/done_icon.png') }}">
|
||||||
|
<a href="{{ url_for('web') }}" class="usable-context" style="text-align: canter; margin: 1rem; padding: 1rem;"> < Вернуться к заданиям > </a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% endblock %}
|
Loading…
x
Reference in New Issue
Block a user