@APP.route('/ping', methods=['GET', 'POST'])
def ping():
if request.method == 'POST':
host = request.form.get('host')
cmd = f'ping -c 3 "{host}"'
try:
.
.
먼저 위의 코드를 살펴보면,
/ping 페이지에서 host를 받아온다는 것을 알 수 있다.
그리고 받아온 host를 이용해 풀이를 진행하면 되는데,
문제는 ping페이지에 존재했다.
아래 코드는 ping.html의 일부이다.
<div class="col-md-6 form-group">
<label for="Host">Host</label>
<input type="text" class="form-control" id="Host" placeholder="8.8.8.8" name="host"
pattern="[A-Za-z0-9.]{5,20}" required>
</div>
현재 pattern이 존재하므로
; | 와 같은 메타문자를 어떻게 우회할 수 있을지 생각해야했다.
그 결과 그냥 개발자모드에서 해당 pattern 부분을 지운 후
코드를 작성해주면 되었다..