sfp \x00
payload = b'DREAMHACK!'
for i in range(118):
    payload += (118-i).to_bytes(1,byteorder='little')
payload += b'\x00' + b'A'*7

처음부분 코드를 만족시키기 위해서 위와 같이 코드를 짯는데 sfp부분을 b'A'*8이런식으로 하면 안되고 처음을 \x00으로 해줘야 익스 잘 되더라고요.
왜 sfp부분에서 첫부분을 \x00으로 해줘야 익스가 잘 되는것인가요?

#시스템해킹 #포너블 #sfp
작성자 정보
답변 1
qwerty_io
대표 업적 없음

해당 코드는 buf[127] == buf[128] + 1 까지 검사합니다. 만약 '\x00' 대신 'A'를 넣으면 buf의 127번째 글자(0-base)는 '\x01'이고 128번째 글자(0-base)는 'A'가 되므로 검증을 통과할 수 없습니다.

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