Shellcode
파일 읽고 쓰기 orw 셸 코드 char buf[0x30]; int fd = open("/tmp/flag", RD_ONLY, NULL); read(fd, buf, 0x30); write(1, buf, 0x30); /tmp/flag 파일을 읽고 쓰는 c언어 코드 우선 /tmp/flag 라는 문자열을 메모리에 넣어야 한다. 0x616c662f706d742f67를 push 해야 하는데 8바이트 단위로 push할 수 있기 때문에 0x67을 먼저 push하고, 0x616c662f706d742f를 push 한다. push 0x67 mov rax, 0x616c662f706d742f push rax mov rdi, rsp ; rdi = "/tmp/flag" xor rsi, rsi ; rsi = 0 ; RD_ONLY x..
드림핵 ex-reg-ex 롸업
@app.route("/", methods = ["GET", "POST"]) def index(): input_val = "" if request.method == "POST": input_val = request.form.get("input_val", "") m = re.match(r'dr\w{5,7}e\d+am@[a-z]{3,7}\.\w+', input_val) if m: return render_template("index.html", pre_txt=input_val, flag=FLAG) return render_template("index.html", pre_txt=input_val, flag='?') 구성 코드이다. 간단하게 re.match 함수에 있는 정규표현식을 만족하도록 input_val을..