介绍
还是国赛2019的一道题,利用比较麻烦的栈溢出。
分析程序
程序在栈上开辟了一段空间,允许你在上面进行41次读写。然而在读index的时候没有做范围检查,导致可以在栈上进行任意读写。(这样基本就无敌了)
利用方式
- 首先利用任意读,读到栈上残留的一些libc地址,并计算出libc基址。
- 根据libc地址,讲返回地址写入onegadget,即可getshell。
脚本
1 | #!/usr/bin/env python2 |
Blog
还是国赛2019的一道题,利用比较麻烦的栈溢出。
程序在栈上开辟了一段空间,允许你在上面进行41次读写。然而在读index的时候没有做范围检查,导致可以在栈上进行任意读写。(这样基本就无敌了)
1 | #!/usr/bin/env python2 |