4번 문제인 orc 이다.

 

이번 문제는 argv에 커맨드라인으로 입력받고, strcpy로 buffer에 값을 복사한다.

저번 문제에서 사용했던 환경 변수도 environ에서 전부 제거하고 시작하기 때문에 사용할 수 없다.

그리고 argv[1]의 47번째 문자가 \xbf가 아니면 종료해버린다.

따라서 argv[2]에 쉘코드를 넣고, argv[1]에서는 buffer(40) + sfp(4) = 44만큼 더미값으로 덮고, buffer의 ret을 argv[2]의 주소로 덮으면 될 것이다.

우선은 argv[2]의 주소를 알기 위해 임의의 값을 적어볼건데, argv[1][47]이 \xbf이여야하니, 아예 \xbf로 덮어보자.

그리고 argv[2]를 a로 덮어서 argv[2]의 입력이 시작되는 곳을 찾아보자.

 

보다시피 argv[2]의 입력이 시작되는 곳은 0xbffffc3c라는 것을 알 수 있다.

이제 buffer(40) + sfp(4) = 44만큼 더미 값을 채우고, 0xbffffc3c를 리틀엔디안으로 넣고, 두 번째 커맨드라인으로 입력하는 값에는 nop sled 100바이트와 쉘코드를 넣어주자.

 

성공적으로 쉘을 땄다.

cantata

'Hacking > Pwnable' 카테고리의 다른 글

[LOB] 3번 - goblin  (0) 2020.08.16
[LOB] 2번 - cobolt  (0) 2020.08.16
[LOB] 1번 - gremlin  (0) 2020.08.10
Hackerschool FTZ - level9 write up  (0) 2019.09.21
Hackerschool FTZ - level8 write up  (0) 2019.09.18

3번 문제인 goblin 이다.

 

1, 2번에서는 argv에서 넘어온 인자값을 strcpy로 복사해서 buffer에 넣는 방식이었다.

이번에는 gets로 표준 입력으로 buffer에 입력을 받는다.

따라서 이전처럼 ` 를 이용하여 작성하지 않고, | 를 이용하여 작성한다.

파이썬으로 값을 출력한 후, cat으로 출력해주면 표준 출력으로 찍혀서 값이 넘어갈 것이다.

그 외의 공격 코드 형태 자체는 아까와 동일할 것이다.

 

환경변수의 주소는 0xbfffff09이다.

이제 buffer(16) + sfp(4) = 20만큼 더미값을 채우고, 0xbfffff09를 리틀엔디안으로 넣어주면 될 것이다.

 

성공적으로 쉘을 땄다.

hackers proof

'Hacking > Pwnable' 카테고리의 다른 글

[LOB] 4번 - orc  (0) 2020.08.18
[LOB] 2번 - cobolt  (0) 2020.08.16
[LOB] 1번 - gremlin  (0) 2020.08.10
Hackerschool FTZ - level9 write up  (0) 2019.09.21
Hackerschool FTZ - level8 write up  (0) 2019.09.18

2번 문제인 cobolt 이다.

 

1번 문제와 유사하나 buffer의 크기가 이번에는 16이다.

즉, NOP sled나 shellcode를 담기에는 작은 공간이다.

따라서 환경변수로 미리 쉘코드를 만들어두고, 그 환경변수의 주소를 buffer의 ret에 덮어주면 될 것이다.

 

환경변수를 만들 때는 export [환경변수이름], 제거할 때는 unset [환경변수이름]의 형태로 만들 수 있다.

환경변수에 shellcode를 담았으니, 이제 환경변수의 주소를 알아보자.

 

환경변수의 주소는 0xbfffff07이다.

이제 buffer(16) + sfp(4) = 20만큼 더미값을 채우고, 0xbfffff07을 리틀엔디안으로 넣어주면 될 것이다.

 

성공적으로 쉘을 땄다.

hacking exposed

'Hacking > Pwnable' 카테고리의 다른 글

[LOB] 4번 - orc  (0) 2020.08.18
[LOB] 3번 - goblin  (0) 2020.08.16
[LOB] 1번 - gremlin  (0) 2020.08.10
Hackerschool FTZ - level9 write up  (0) 2019.09.21
Hackerschool FTZ - level8 write up  (0) 2019.09.18

+ Recent posts