l0tus's blog

切开血管,落日殷红

迟到三个月的省赛wp

babyheap 三个月前,9月17号参加了省赛,菜的和狗一样玩了一下午吃豆人。三个月后初学了堆,还是菜的和狗一样,不过大抵是会做这第一道了。 首先题目是一道规规矩矩的堆体模板。add函数限制了次数为7次,大小限制为0x7f及以内 根据各个函数的实现,先在脚本里写好对应的函数: 1234567891011121314151617def add(size): p.sendlineaf......

Stackmove

开篇碎碎念 近期的进度应该已经进入堆题的学习阶段了,但是我还没有完整做过一道栈迁移的题。倍感惭愧,正好前几天赛博的比赛nameless✌出了一道栈迁移,可惜当时时间很紧。我的想法是现学堆题的知识,然后把ez_heap整出来,但是我太菜了就把大把的时间花费在了理解堆管理器上,到结束也没做出来。也就没心思看这道栈迁移了,不过回头看来,这道题应该是当时可以拿下的。 题目 题目给了execve的地......

tcache_poisoning

一种简单的堆利用方式

泄露libc 首先申请index为0-7,size为0x100x的八个chunk,第7-1号chunk在逆序free后进入tcache,第0号进入unsorted bin. free完成后可以查看bin的情况,可以看到unsorted bin中的最后一位(这里只有一位),也就是第一个被free进入unsorted bin当中的chunk会指回libc中main_arena的某处地址,同时d......

PoC double_free

Source code 1234567891011121314151617181920212223242526272829303132333435#include<stdio.h>#include<stdlib.h>int main(){ size_t * ptr[12]; for(int i=0;i<12;i++) ......

HEAP

堆相关知识

malloc & free 1234567891011121314151617181920212223242526/* malloc(size_t n) Returns a pointer to a newly allocated chunk of at least n bytes, or null if no space is available. Additionally,......

XCTF-stack2-WP

初遇canary

下载附件拖进ida之后观察main函数: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475int __cdecl main(int argc, const c......

XCTF-实时数据检测-WP

比较经典的一道格式化字符串漏洞的题目,难度不大,l0tus在这里提供两种做法

经典做法 下载附件拖进ida之后看到明显的逻辑,不过这题是32位的 1234567891011int locker(){ char s[520]; // [esp+0h] [ebp-208h] BYREF fgets(s, 512, stdin); imagemagic(s); if ( key == 35795746 ) return system("/b......