감자 텃밭

goblin 본문

my_study/LOB

goblin

g2h 2021. 5. 18. 22:47

접속 후 ls -l로 디렉터리 및 파일을 확인한 후 orc.c 파일을 열어 소스코드를 확인함

음... 뭔가 좀 복잡하지만 해석을 해보면 40바이트의 버퍼와 i 가 있고 인자 값으로 하나 이상의 값을 넣어야 한다.

또한 환경변수를 사용하지 못하도록 되어있고 입력값의 인덱스[47]번(48byte)부분 의 값이 \xbf여야 한다.

흠.. 복잡해 보이지만 생각해보면 strcpy를 이용해 버퍼오버플로우를 일으켜 버퍼에 쉘코드를 삽입 후 sfp까지 더미로 채우고 ret부분에 버퍼의 시작 주소를 넣으면 된다!!라고 추측하였다.

 

그럼 일단 버퍼의 시작 주소를 구해야하는데 이번엔 core dump를 이용하였다.

core dump를 사용하는 모습

core dump를 사용해서 확인해본 결과 우리가 입력한 값이 버퍼의 시작 주소로 잘 들어간 것을 확인하였고

버퍼의 시작주소는 0 xbffffc54로 확인하였다. 그럼 이제 가볍게 payload를 작성해보자

후 성공적으로 쉘을 획득하여 패스워드를 알아냈다.

이번 문제에서는 core dump라는 생소한 걸 사용하여 당황하였지만 나름 간단하게 풀었다

'my_study > LOB' 카테고리의 다른 글

wolfman  (0) 2021.05.20
orc  (0) 2021.05.19
cobolt  (0) 2021.05.18
Gremlin 문제  (1) 2021.05.17
Gate 문제  (1) 2021.05.17