level19

해커스쿨 FTZ 2018. 4. 3. 14:55


이번 level의 힌트이다. 코드가 매우 간단해서 '엥? 레벨19가 이렇게 쉽다고?' 라고 생각할 수도 있으나, 자세히 보면 이번코드에는 setreuid가 없다. 즉 전처럼 25byte짜리 쉘코드로는 level20의 권한을 얻을 수 없다는 뜻이다.


우선은 메모리를 얼마나 할당받는지 확인해 보자

0x28은 10진수로 40이므로 SFP를 포함해서 44바이트를 오버플로우시키면 될 것이다.






위 사진을 보면 알 수 있다. 맞게 오버플로우 했음에도 불구하고 uid가 그대로인 것을 볼 수 있다.


그래서 setreuid를 실행하는 쉘코드 

'\x31\xc0\xb0\x31\xcd\x80\x89\xc3\x89\xc1\x31\xc0\xb0\x46\xcd\x80'


를 추가하였다.




환경변수의 주소를 구했으니 오버플로우 한다.




'해커스쿨 FTZ' 카테고리의 다른 글

level20  (0) 2018.04.04
level18  (0) 2018.04.02
level17  (0) 2018.04.02
level16  (0) 2018.04.02
LEVEL15  (0) 2018.03.29
블로그 이미지

천재보다는 범재

,