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'가 되므로 검증을 통과할 수 없습니다.