완료됨
소스코드에 p.recv(1) 있는 이유?

강의에서 예시 문제를 exploit 하는거 보면 stack environ을 구해서 이걸로 flag 파일이 읽혀서 들어간 버퍼의 주소를 구해, 최종적으로 flag를 읽는다는 내용이 있는데

p.recv(1)   # <--- ???????
stack_environ = u64(p.recv(6).ljust(8, b'\x00'))
file_content = stack_environ - 0x1568

...라고 적혀 있습니다. 갑자기 p.recv(1) 이 있는 이유가 무엇인가요? 저 같은 경우는 저걸 넣지 않고 그냥 해야 문제가 풀리던데 궁금해요.

#시스템해킹 #공격기법 #environ
작성자 정보
더 깊이 있는 답변이 필요할 때
드림핵 팀과 멘토에게 직접 문의해 보세요!
답변 1
avatar
p0her
Open Beta Tester
avatar
p0her
Open Beta Tester

익스플로잇 보낼 때 send 말고 sendline 으로 보내면 입력할 때 \n이 같이 들어가니까 leak할 때도 1바이트를 고려해주어야 합니당

2023.08.16. 00:07