-
[Clear] b01lers CTF 2023 warmup writeupCTF/b01lers CTF 2023 2023. 3. 20. 16:52
웹 카테고리의 warmup 문제이다.
주어진 URL로 접근하면 base64인코딩 된 값으로 추정되는 경로값이 있고, 소스코드에 debug.html 이 언급되어있다.
debug.html을 base64 인코딩 처리하여 접근해보았다.
app.py를 통해 rendering 테스팅을 한다고 하여 app.py 도 base64처리하여 접근해보았다.
서버의 소스코드가 노출되었다.
from base64 import b64decode import flask app = flask.Flask(__name__) @app.route('/<name>') def index2(name): name = b64decode(name) if (validate(name)): return "This file is blocked!" try: file = open(name, 'r').read() except: return "File Not Found" return file @app.route('/') def index(): return flask.redirect('/aW5kZXguaHRtbA==') def validate(data): ##### ................................................ (1) if data == b'flag.txt': return True return False if __name__ == '__main__': app.run()
플래그 파일을 읽어야 하지만, flag.txt 값은 (1)에 의해 필터링되어있다.
이를 우회하기 위해 경로 정보를 추가하여 ./flag.txt 로 접근을 시도해보았다.
우회에 성공하여 플래그를 획득 할 수 있었다.
FLAG = bctf{h4d_fun_w1th_my_l4st_m1nut3_w4rmuP????!}
반응형'CTF > b01lers CTF 2023' 카테고리의 다른 글
[Clear] b01ler CTF 2023 fishy-motd writeup (0) 2023.03.20