xyyr
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 友链

ctfshow元旦水友赛-badboy

ctfshow元旦水友赛-badboy好久没打了,有人提到了,就看一看。 开了canary和nx保护,原本想着泄露canary,结果找不到泄露的方向。 kl点进去可以看到是6 可以循环两次,第一次泄露6个字节,第二次泄露3个字节。第一次泄露libc,第二次泄露栈。 地址分别相差0x18(24)和0x38(56),fd8-eb0=0x128(296) libc.sym查询不到__lib
2024-10-23
pwn
#pwn

一道基础的uaf的两种食用方法~double free

一道基础的uaf的两种食用方法~double free 前情提要:libc-2.23,无teache。 甚至不用改名字,出题人都给把名字叫好了(爱了爱了),这样子调试的时候很舒服 欸,保护连pie都没开,或许还能用它学学别的做法。 长度自定,可以堆溢出,但是这两种做法没有用到,以后考虑用它试着unlink啥的。 创建函数的时候会有输入 delete这里没有指针置0,存在uaf 打印函数
2024-10-23
pwn
#pwn

2016 ZCTF note2--unlink

2016 ZCTF note2–unlink很久没打unlink了,上一次打unlink还是将近一年前,如此怠惰 温习了一下重命名,重新指定类型啥的ida操作(重新指定类型没用上:{) 溢出点: 其中 i 是 unsigned 类型,lenth 为 int 类型,所以两者在 for 循环相比较的时候,lenth -1 的结果会被视为 unsigned 类型 输入0也可以符合这个判断 unlin
2024-10-23
pwn
#pwn

堆溢出off-by-one (asis-ctf-2016 b00ks)

堆溢出off-by-one (asis-ctf-2016 b00ks) libc-2.23 漏洞点: author name 输入为32,也就是这里的a2=32,经历了32次++a1后,a1[32]=0,而这是第33位。 ​ 其他地方对于这个scanf_s的调用正常,因为都是输入的size-1 ​ 创建堆块: 这个写着最大32,但是无妨,可以更大,需要注意的是,这里
2024-10-23
pwn
#pwn

堆溢出off-by-one (asis-ctf-2016 b00ks)

一个出题人特地设计的怪怪的堆利用点:出题人特地设置了可定义的跳转,并且给了后门函数 先进入这里,看init_User 每次创建一个0x98大小的堆块来记录头信息,参数是0x98,由于堆管理机制,会创建0xa0大小(存在标记位,所以看着是0xa1) 然后看add_User的malloc_lenth的参数是我们输入的长度 点进去malloc_lenth发现,还把原来的长度乘了2 以0x
2024-10-23
pwn
#pwn

NKCTF--pwn--Maimai查分器

NKCTF–pwn–Maimai查分器 Maimai查分器 保护全开 存在格式化字符串漏洞 第一步:先测速率,输入15.0 SSS+ 50次获得最高速率 ​ 1234sl(b'1')#debug()for i in range(50): sl(b'15.0 SSS+') 然后利用格式化字符串去泄露,本来想一口气全部泄露的,但是只有8个字节,
2024-10-23
pwn
#pwn

NewStar-WEEK3-ezorw-putorsys

NewStar-WEEK3ezorw最近作业多,事务繁忙,好久没打题了,继续看看新生赛最新一周放出来的题。主打一个复健,不过近来的新生赛进度都好快。 开了NX和canary 利用格式化字符串泄露出canary,然后因为题目给了libc文件,又提示是rop,本来打算用ret2libc泄露libc基地址,结果发现该程序中居然没有可以用的pop链。。Σ(っ °Д °;)っ 怎么办呢,经过思
2024-10-23
pwn
#pwn

限制7字节写入执行的orw

限制7字节写入执行的orw buf处直接执行机器码,向其中写入read,然后再往下orw即可。这里注意,如果添加太多值就会导致超了7,所以能简洁尽量简洁。尽可能用原有的寄存器,本来想写入到buf+一段空间,但是还有对空间进行计算,所以直接往buf写,用nop填充滑下去就好。 另:温习asm转化汇编为机器码的格式。 exp: 12345678910111213141516171819202122
2024-10-23
pwn
#pwn

iscc-U

iscc-U一道特殊的uaf,高版本,没开pie,特殊的打印机制。 警告:极其混乱,掺杂着无数次歪路 由于没有libc文件,不知道libc版本,没用unsotedbin泄露,不知道该减多少。 打印函数: 创建函数: 删除函数: 先创三个堆看看notelist的储存形式: 关于c语言:notelist本身指代的是这个空间指向的数据。例如int notelist = aaa
2024-10-23
pwn
#pwn

orange_cat

orange_cat 就出了这一道被打成50分的,我真菜狗一只啊 包含输入、修改、输出、删除的堆块题 输入函数:只限制了堆块的大小,不限制数量 输出函数和删除函数都只能用一次 edit函数存在7个字节的溢出 top_chunk 的后三位+size(不包括符号位,符号位要为1),&FFF为0 先用house of orange(这个网上讲的很好)将topchunk置为uns
2024-10-23
pwn
#pwn
12345

搜索

Hexo Fluid