l0tus's blog

切开血管,落日殷红

2023西湖论剑 部分pwn题WP

水平比较低只能理解两道题

message board 漏洞在这里: 保护: 没有canary和pie,libc版本是2.31 禁了execve,需要使用orw 思路与hgame2023_week1_pwn_orw基本一致(白夜牛逼)栈迁移orw,泄露libc的手法略有不同,这题存在一次格式化字符串漏洞用来泄露libc 对于fmtstr的题目一直不太熟悉,泄露libc尤为手生 通过这题再练一下,调试的时候看到**......

JS的一些特性:原型链,作用域,闭包

(转自@gtg)

前言 这篇文章是@gtg师傅写的,征得同意分享给了我们。(l0你在装什么你根本看不懂啊喂(#`O′)!) 是好东西,我一个二进制菜狗虽然看不明白但是想在博客挂一份,或许以后会有学 这篇文章所有权以及一切解释归@gtg所有,如需转载请联系@gtg。 原型链prototype chain 没有类的实例对象 Javascript继承机制的设计思想): Brendan Eich设计 Javasc......

2022年终总结

朱颜长似、头上花枝,岁岁年年

始 时间是不会倒退的。在不断前进的岁月里,迎接了无数相遇与别离。对新朋谈旧事何尝不是一种乐趣。 离别 2022最大的别离与遗憾莫过于没能亲自到机场送别泽楠。毕业是一群人的离开,也是我和一群人关系的终点。硬要讲毕业的不舍的话,只有告别亲爱的英语老师吧。还有乌鸡哥。 年初的时候做了件比较愚蠢的事,但无论如何也算是一种探险吧,或者说是某种渡劫(? 遇见 最值得纪念的遇见就是结识协会了,就是有这么一......

迟到三个月的省赛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......