티스토리 뷰

[Hackerschool] F.T.Z

해커스쿨 - level14

lHATAl 2017. 11. 16. 00:25

level14에 들어와 힌트부터 확인을 하자.



check 변수에 대해 직접 입력하는 구간이 없다. 따라서 우리는 버퍼 오버플로우를 이용해 check 값을 0xdeadbeef로 변경하여야 한다.


우선 디스어셈블을 수행하였다.



main+29 를 통하여 check의 값은 ebp로부터 16만큼 떨어져 있는 것을 알 수 있었고 buf 변수는 ebp로부터 0x38(56) 만큼 떨어져 있는 것을 main+3을 통해 알 수 있다.


따라서 buf에서 40byte만큼 값을 입력한 후에 0xdeadbeef를 입력해주면 공격은 성공하게 된다.


$(python -c 'print "A"*40+"\xef\xbe\xad\xde"'; cat) | ./attakme


라는 형식으로 공격할 수 있다.

'[Hackerschool] F.T.Z' 카테고리의 다른 글

해커스쿨 - level16  (0) 2017.11.16
해커스쿨 - level15  (0) 2017.11.16
해커스쿨 - level13  (0) 2017.11.15
해커스쿨 - level12  (0) 2017.11.15
해커스쿨 - level11  (2) 2017.11.06
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함