감자 텃밭

[pwnkr] - input문제 본문

my_study/pwn.kr

[pwnkr] - input문제

g2h 2021. 9. 1. 21:17

해당 문제의 소스코드는 아래와 같다.

차례대로 stage 1번부터 아래와 같다.

[stage 1]

스테이지 1번은 argc의 개수가 100개 여야 하며, argv ['A'], argv ['B'] 즉 65번과 66번째 argv에 각각 \x00과 \x20\x0a\x0d가 입력되면 통과한다.

 

[stage 2]

스테이지 2번은 read를 사용하여 파일 디스크립터 0 표준 입력으로 \x00\x0a\x00\xff를 입력하고 그 후

다음 read를 사용하여 2 표준 에러에 \x00\x0a\x02\xff가 입력되면 통과된다.

 

[stage 3]

스테이지 3번은 \xde\xad\xbe\xef라는 이름의 환경변수의 저장되어있는 값이 \xca\xfe\xba\xbe와 일치하면 통과이다.

 

[stage 4]

스테이지 4번은 \x0a라는 파일의 첫 번째 4바이트가 \x00\x00\00\00이면 된다 즉 \x0a라는 파일에 \x00\x00\

x00\x00을 넣어주면 된다.

 

[stage 5]

스테이지 5번은 소켓 관련 문제로 argv ['C'] 즉 67번째 argv의 값을 포트번호로 지정하고 로컬 서버로 4바이트를 보내 메모리를 비교해서 \xde\xad\be\ef이면 통과이다.

 

해당 스테이지를 전부 통과하기 위한 소스코드는 아래와 같다.

해당 코드를 실행시키면 성공적으로 플래그를 획득할 수 있다.

'my_study > pwn.kr' 카테고리의 다른 글

[pwnkr] - shellshock  (0) 2021.09.04
[pwnkr] - mistake  (0) 2021.09.01
[pwnkr] - random  (0) 2021.09.01
[pwnkr] - passcode  (0) 2021.09.01
[pwnkr] - flag  (0) 2021.09.01