-
-
[原创] 看雪CTF第四题 设计思路
-
发表于:
2017-6-9 14:18
5785
-
考点:
malloc_consolidate+unlink+rop
运行环境:
1. amd64(作者本地测试为kali,远程测试环境为ubuntu16.04),无libc要求,已经上传远程测试libc
2. 开启aslr
编译方式:gcc -no-pie main.c -o main ; strip main
题目说明:
1. 题目可以给出bin与libc供下载,也可以仅给出bin文件,通过查找libc-db的方式找到对应libc版本号(作为一只pwn狗,建议给出libc,省去大家查libc的浪费的生命。。QAQ都是血泪史)
设计思路:
1. 首先给用户输入姓名,此时以malloc一个chunk的方式存储用户的输入
2. 给了4个功能,create、delete、edit、show,其中show功能无效
3. create函数可以申请一个小于4096字节的chunk,并往里面写入数据,然后置flag位为1,同时用一个全局变量number来记录已申请的chunk个数,number不得大于4.
4. delete函数可以free一个指针并置flag位为0,但是不检查是否已经free这个指针
5. edit检查flag位,只能修改已经flag为1的chunk
6. 数据结构如下
漏洞点:
1. uaf,在dele一个指针后没有清零,可以再次free这个freed的指针
2. 漏洞什么的。。应该没了吧。。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!