摘要:
fastbin attack 存在的原因在于 fastbin 是使用单链表来维护释放的堆块的,并且由 fastbin 管理的 chunk 即使被释放,其 next_chunk 的 prev_inuse 位也不会被清空。 先介绍下fastbins: fastbins是管理在malloc_state结构 阅读全文
摘要:
可能这道题是很多人在堆这一块初窥门径的一道题目。我第一次见堆是在4月份,中间各种杂事,现在来把这道题的wp补一补 首先说一些前置知识。 小白(我)眼里的堆{做题没啥关系,但是可以丰富你的认知} 在程序运行过程中,堆可以提供动态分配的内存,允许程序申请大小未知的内存。堆其实就是程序虚拟地址空间的一块连 阅读全文
摘要:
小结:通过这道题我学习了很多 拿到检查 64位程序开了栈不可执行 ida打开 只有一个main read读入我们输入的内容,然后sprintf把这一串放到format里面,printf处有格式化字符串漏洞,然后整个过程是在一个循环 思路就是修改函数printf的got表为system函数的地址,然后 阅读全文
摘要:
通过这道题,我学到一个操作:在运用put函数进行输出时,如put(v1),v1大小时0x10,如果v1已被写满,那么put函数无法在v1后不上\x00,函数不会被截断,会把栈上v1之后的内容继续输出 先检查 ida打开分析,发现不能反汇编,去他报错的函数先把这个函数f5,然后就可以了 分析发现,我们 阅读全文
摘要:
通过这个题目,我学到了strcmp函数的功能在遇到\0会停止 在运行程序时输入字符,按下回车键后,也会产生一个\n来占据s的空间 检查并运行下 观察main函数,header()只是打印图形,chall()才是关键函数 在chall中先输出s的地址,之后fgets接收一个不大于1023(0x3ff) 阅读全文
摘要:
误入一个游戏网站。。。(真的像是在打游戏) 贴一下他的等级,我才刚刚开始,感觉挺有意思,和大家分享下 幼儿瓶:非常简单的挑战,都是一些简单的错误。 Rookiss:新手需要掌握的典型漏洞利用。 怪诞:这些挑战是怪诞的,解决起来很痛苦,但获得Flag后,成就感满满。 黑客的秘密:针对这些挑战的预期解决 阅读全文
摘要:
通过这道题我学习了asm函数。 {在linux源码中经常遇到__asm__函数。它其实是函数asm的宏定义 asm #define asm asm,asm函数让系统执行汇编语句。__asm__常常与__volatile__一起出现。__volatile__限制编译器不能对下面的汇编语句进行优化处理。 阅读全文
摘要:
泄露canary+rop 通过这道题,我知道了canary最后一个字节是\x00,又因为是小端存储,所以在内存中我位置是在开头的;puts函数在输出的时候是遇到\x00 会结束。 1是read函数,存在栈溢出,2是puts函数,可以泄露canary,3是退出 思路 :程序中插入了canary,用pu 阅读全文
摘要:
小结:学习了两个函数 1.函数strstr(): strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回字符串剩余部分;否则,返回NULL。该函数对大小写敏感;也就是它区分大小写,可以构造Php绕过 strstr(string,search,befo 阅读全文
摘要:
开局给一张图,提示thinkphp V5,可能是暗示这个版本有什么漏洞 github上已经有发过了,远程执行漏洞 RCE(remote command/code execute)。分为远程命令执行ping以及远程代码执行evel。漏洞出现的原因是没有在输入口做输入处理。我们常见的路由器、防火墙、入侵 阅读全文