Protostar Format2 [ FSB / objdump ]
2017. 6. 13. 12:58ㆍSystemHacking/Protostar
Protostar Format2번 문제입니다
[ 그림1 ]
target변수의 값을 64로 변질시키면 되는 문제입니다
[ 그림2 ]
포맷스트링버그공격에서 제일먼저 해야할 일은 내가 입력한 데이터가 어디에 존재하는지를 알아내는 것입니다
4번째 " %8x "스트링에서 우리가 입력한 데이터 AAAA가 있음을 확인이 가능합니다
[ 그림3 ]
target의 주소를 알아야 공격을 할 수 있기 때문에 objdump명령어를 이용해 target의 주소를 알아냅니다
[ 그림4 ]
공격코드입니다
$ (python -c 'print "\x41\x41\x41\x41"+"\xe4\x96\x04\x08"+"%8x%8x%8x%32c%n"';cat ) | ./format2 |
코드에 따라서 "%n"스트링에 의해서 0x080496e4 ( target ) 주소에 값이 입력될 것입니다
4+4+8+8+8 = 32 이므로 보충해줘야할 byte수는 32입니다. 따라서 "%32c"스트링을 입력하였습니다
'SystemHacking > Protostar' 카테고리의 다른 글
Protostar Format4 [ FSB / PLT / GOT ] (0) | 2017.06.13 |
---|---|
Protostar Format3 [ FSB / objdump ] (0) | 2017.06.13 |
Protostar Format1 [ FSB / objdump ] (0) | 2017.06.13 |
Protostar Format0 [ FSB ] (0) | 2017.06.13 |
Protostar Stack7 [ROP] (0) | 2017.06.12 |