精选分类

文章列表

Python栈帧逃逸:1、yield 语与生成器函数:​ python中的yield语句用于定义生成器函数,它能让函数在运行过程中暂停并保存当前状态,后续再恢复执行。 ​ 生成器 是 Pythonn中一种特殊的迭代器,它可以在迭代过程中动态生成值,而不需要一次性将所有值存0储在内存中。 ​ 举个生成器的例子: 1234567891011121314151617181920212223242526272829def func(): print("生成器函数第一次执行") yield 1...

web361:​ name传参,直接干: 123456789101112131415161718192021from requests import getdef get_wrap(): for i in range(100,200): url = "http://a96b5242-08d2-4901-8692-4b324f00d95a.challenge.ctf.show/?name={{''.__class__.__base__.__subclasses__()[" +...

从NSSCTF开始的复建之路前言:​ 摆烂了有段时间了,感觉不应该再继续这样了,开个新坑,让我慢慢回忆一些忘记的内容,我知道不应该摆烂,但心理问题导致我感觉一切都失去了意义,还好,maimai让我至少有活下去的想法,在写这段话的时候,我正在听 The Last Page – ARForest,一切的不如意都有最后一页,而现在,我希望我的低谷期已经来到了 The Last Page ,期待接下来的每一步都会像 The Last Page 一般,充满希望,充满美好。 –发癫完毕 Re:[SWPUCTF 2022...

@TOC本来想整理下所有的wp的,结果最后发现好多都不会,别的不会的抄wp的话似乎也就只有抄大佬们交上来的wp,不大好,所以最后只写了部分wp,剩下等到学长们把官方wp传上去再整理。 WP:Web:Are you...

pwn学习笔记(12)–Chunk Extend and Overlapping​ chunk extend 是堆漏洞的一种常见利用手法,通过 extend 可以实现 chunk overlapping(块重叠) 的效果。这种利用方法需要以下的时机和条件: 程序中存在基于堆的漏洞 漏洞可以控制 chunk header 中的数据 1、对inuse的fastbin进行extend:12345678910111213 int main(void){ void *ptr,*ptr1; ptr=malloc(0x10);//分配第一个0x10的chunk...

pwn学习笔记(11)–off_by_one​ 在处理for循环或者while循环的时候,有的可能会遇到如下情况: 123456789101112#include<stdio.h>int main(){ char buf[0x10]; for (int i = 0 ; i <= 0x10 ; i ++){ buf[i] = getchar(); } puts(buf);...

Pwn学习笔记(10)–UAF:​ UAF就是Use-After-Free,即一个指向堆块的指针被释放后指针没有置零,形成了悬空指针,使得堆可以再次被使用。 ​ 由于我环境似乎运行不了某个程序,所以演示就不做了,上个简单题来看看。 ​ 题目是一个标准的菜单题,有创建note和输出删除的功能,别的不看了,直接看那三个函数: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546unsigned int add_note(){ int v0; // ebx int...

# web: # PyBlockly: ​ 网站是一个通过 block 的堆积木的形式编程,有两种数据类型以及四种函数,分别是正常运算,print 输出,min 和 max...

pwn02:第一步:checksec发现32位架构,开了NX和ASLR。 第二步:login函数有个登陆,账号密码都在里面 第三步:vuln函数存在栈溢出,但是只能溢出8个字节,确定位栈迁移。 第四步:编写脚本,攻击: 123456789101112131415161718192021222324252627282930313233from pwn import *# context.log_level = "debug"elf = ELF("./short")io =...