목록전체 글 (420)
외로운 Nova의 작업실
- 이메일 관련 프로토콜 Alice는 Bob에게 메시지를 보내고자할때 사용자대행자(UA, user agent)프로그램을 호출하여 메일 서버에 있는 전송 대행자(MTA, message transfer agent)를 통해 메시지를 보냅니다. Bob은 메시지를 받기위해서는 사용자 대행자를 통해 메일 서버에 있는 접근 대행자(MAA, message access agent)를 통해 메시지를 받습니다. UA와 메일 서버는 LAN or WAN으로 연결되어 있습니다. SMTP(simple mail transfer protocol)은 인터넷에서 MTA 클라이언트와 서버를 규정하는 공식적인 프로토콜입니다. SMTP는 송신자와 송신자의 메일서버 사이 그리고 두 메일 서버들 사이에서 총 두번 사용됩니다. 메일서버는 SMTP ..
안녕하세요, 이번시간에는 file-vulnerability 혼자 실습편 file-download-1 문제를 풀어보겠습니다. 정답은 가려져있습니다. - 문제인식 이 문제는 file download 취약점이 존재하는 웹서비스로 flag.py를 다운로드 받으라고합니다. 일단 코드를 봐보겠습니다. - 코드 리뷰 app.py 코드를 리뷰하겠습니다. #!/usr/bin/env python3 import os import shutil from flask import Flask, request, render_template, redirect from flag import FLAG APP = Flask(__name__) UPLOAD_DIR = 'uploads' @APP.route('/') def index(): file..
- 파일관련 프로토콜 FTP(file transfer protocol)은 파일 전송 프로토콜로 하나의 연결은 데이터를 전송을 위하여 사용되고 또 다른 하나는 명령과 응답 등의 제어 정보를 위하여 사용합니다. 이러한 제어와 데이터 전송의 분리는 FTP를 좀 더 효율적으로 사용할 수 있도록 만들어줍니다. FTP는 포트 21번을 제어연결을 위해 포트 20번을 데이터 연결을 위해 사용합니다. USER 명령을 통해 사용자 명령을 전송하고 PASS 명령을 통해 사용자의 비밀번호를 전송합니다. 일반적으로 능동모드가 FTP 클라이언트의 기본값으로 설정됩니다. 클라이언트에서 서버측 21번 포트로 접속하여 제어채널을 생성하고 데이터는 서버에서 클라이언트로 접속하여 데이터를 보내는 방식입니다. 만약 클라이언트가 방화벽이 설..