MTE ์ผ๋จ MTE๋ ๋ฉ๋ชจ๋ฆฌ ์์ฒด๋ฅผ 'ํ๊น 'ํ๋ ๊ธฐ๋ฒ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ํ๊น ์ด๋ผ๋๊ฒ ์ ํํ๊ฒ ๋ญ๊น? Address Tag (Key) : 4bit๋ก ๋์ด์๊ณ , virtual address์ ์์ ๋นํธ์ ์ ์ฅ๋๋ค! ์์ ๋นํธ์ ์ ์ฅ๋ ์ ์๋ ์ด์ ๋, AArch64์ TBI(Top-Byte-Ignore' ํน์ง ๋๋ฌธ์ด๋ค Memory Tag (Lock) : ๋๊ฐ์ด 4bit๋ก ๊ตฌ์ฑ๋์ด์๊ณ , memory storage์ ์ ์ฅ๋๋ค. ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์์ 16byte๋ก ์ ๋ ฌ๋ ๋ชจ๋ region์ ๋งํฌ๋์ด์๋ค! ์ฐธ๊ณ ) TBI๊ฐ ํ์ฑํ๋๋ฉด virtual address์ top byte๋ ์ฃผ์ ํด์์์ ๋ฌด์๋๋ค! ๊ทธ๋์ top byte๋ฅผ metadata๋ฅผ ์ ์ฅํ๋๋ฐ ์ธ ์ ์๋ ๊ฒ์ด๋ค ์ผ๋จ ์ด๋ ๊ฒ 'ํ๊น ๋'๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผ/์ ์ฅํ..
์ด๋ฐ์์ผ๋ก ์ฌ๋ฌผํจ์ด๋ ์๋ฌผ์ ๋น๋ฒ์ ๋ง์ถฐ์ผํ๋ ๋ฌธ์ ์ด๋ค ์ฌ๋ฌผํจ ๋ฒํธ๋ ์ํ๋ฒณ ์๋ฌธ์ ํน์ ์ซ์๋ฅผ ํฌํจํ๋ 4์๋ฆฌ ๋๋ค ๋ฌธ์์ด์ด๊ณ , ๋น๋ฐ๋ฒํธ๋ 100 ์ด์ 200 ์ดํ์ ๋๋ค ์ ์๋ผ๊ณ ํ๋ค #!/usr/bin/python3 from flask import Flask, request, render_template import string import random app = Flask(__name__) try: FLAG = open("./flag.txt", "r").read() # flag is here! except: FLAG = "[**FLAG**]" rand_str = "" alphanumeric = string.ascii_lowercase + string.digits #์๋ฌธ์ or ์ซ์ for i in..
์คํฌ๋ฆฝํธ ํ์ผ์ ์ ๋ ฅ์ ํ๋๋ ์คํ์ด ๋์ง ์์๋ค. ์ด์ ๊ฐ์ ํ๊ทธ๋ ์ฐํํ๊ณ ์๋๋ณด๋ค ์ด๋ฐ์์ผ๋ก path traversal์ ์๋ํด๋ณด์๋๋ฐ ์๋์๋ค ์ฝ๋๊ฐ ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ ธ์๋์ง ์ด์ ๋ฏ์ด๋ณด๋๋ก ํ๊ฒ ๋ค #!/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(): files = os.listdir(UPLOAD_DIR) return render_template('index.html', files=files) @..
list.php Image Storage Home List Upload
Request ๋ชจ๋ ์นํดํน์ ํ ๋ ์ฌํ๊ป ๋ฐ๋ณต๋ ์์ฒญ์ ๋ณด๋ผ ๋์๋ burpsuit๋ฅผ ์ฌ์ฉํ๋๋ฐ, python์ request ๋ชจ๋์ ํตํด์๋ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ๋ผ ์ ์๋ค๋ ๊ฒ์ ์์๋ค. ๋์ ์์ด์ ์ฌ์ฉํ๋ฉด ์ข์ ๊ฒ ๊ฐ์์ request ๋ชจ๋์๋ ์ต์ํด์ง๋ ค๊ณ ํ๋ค. request ๋ชจ๋์ ์ด์ฉํ๋ฉด GET ์์ฒญ์ด๋ POST ์์ฒญ๋ฑ์ ๋ณด๋ผ ์ ์๋ค(๋ฌผ๋ก ๋ค๋ฅธ ๋ฉ์๋๋ ๊ฐ๋ฅํ๋ค!) ๋จผ์ GET ์์ฒญ์ ์ด๋ป๊ฒ ๋ณด๋ด๋์ง ์ฝ๋๋ฅผ ๋ณด์. c=request.get(url,header,params..)์ด๋ฐ์์ผ๋ก ๋ณด๋ด๋ฉด get ์์ฒญ์ด ๊ฐ์ง๋ค! ์ด๋ ์๋ต๊ฐ c๋ response๋ฅผ ๋ฐ๊ธฐ ๋๋ฌธ์ c.raw, c.status_code.. ์ด๋ฐ ์์ผ๋ก ์๋ต์ ๋ํ ์ ๋ณด๋ ๋ฐ์ ์ ์๋ค. import requests #Reqeust ..