前言 本文重点关注tcache本身的结构、取用放入的原子操作,以及其free安全机制的演变过程, 大概分水岭在于 2.26(tcache出现) 2.28(_int_free引入key防止双重释放) 2.32(PROTECT_PTR的引入波及tcache利用) 2.34(使得key随机生成,而非tca…
前言 曾经的学习止步于此,现在,在高版本堆的背景下,仍然值得一学 为什么要学习_IO_FILE? _IO_FILE的特性可以让我们在没有show的情况下完成信息泄露,也可以让我们在没有free()给出的情况下完成getshell _IO_FILE内部含有丰富的虚函数,对这些虚函数进行劫持,能够形成类…
这周主要是pwn堆调试方面的学习,时隔很久很久重新开始学习堆利用了,这次因为有基础的存在确实学的比较系统,很久前的一道堆题花了我两三天去调试理解整个攻击是怎么做到的,其实就是不熟。然后学习了house of orange以及阅读了io_file结构体相关源代码和信息泄露方式与fsop,很久以前就是在…
学完boofuzz,这一基于生成算法的fuzzing 而紧接着又要开始对pwn下一阶段的学习了,本周重新开始了堆利用的学习 发现自己曾经的笔记用来重新入门是挺好用的,因为比较适合自己的思考风格 使用画图的方式,感觉对堆的理解则更为深入了 接下来的任务就是尽可能刷完ctfshow的堆题,buuctf其…
那么,就来看看基于生成的boofuzz吧,虽然后面实现了持续生成的方案,但没有任何反馈调整变异机制,所以其实还是基于生成的 基于生成和基于变异的模糊测试区别在于, 基于生成的方法一次性生成所有样例,在生成初始输入后不会根据输入继续变动,实现起来很简单,无需插桩等; 而基于变异的方法则会一直运行,根据…
前言 对于防御者来说,现有的内存损坏和控制流劫持保护措施提供的保护并不完整。对于软件开发人员来说,手动代码分析无法扩展到大型程序。这些漏洞可能被恶意攻击者利用,导致数据泄露、系统崩溃,甚至是更严重的安全事件。 fuzzing 技术,作为一种无需静态分析、动态调试等手段,却能有效识别和暴露软件程序中的…
这周回去帮表妹筛选志愿什么的,我发现,还是有很多人不知道有往年录取分数线表格这种东西可供快速筛选,那两本书信息确实是准的,但往往需要花费大量精力来看完全部内容,那么,最佳的方法应该是先用表格筛选一遍,然后再有的放矢,节省大量的精力 这周后来因为感冒,吃了布洛芬,睡了一整天,之后的我确实偷懒了几天,没…
因为课程需要写一个算法相关的报告,所以本周阅读了AFL、AFL++的源代码和相关paper,并且进行了fuzzing复现。(文章各种引用论文,可我还是觉得引用别人博客更务实,更能让阅读的人看明白hh,所以准备改造一下发到这上面)在这个过程中深刻体会到变异策略的差异对测试用例命中效果的影响,并且在复现…
算是把之前四个月的内容做了一个阶段性的完结,虽然结果是失败的,但学到很多东西,从只会x86汇编和逆向、pwn基础和web安全快要忘光了,到现在已经完善了关于iot安全的认知和知识储备,比如镜像加载机制,如何修复FAT仿真,qemu内核态仿真,pwn洞调试,协议fuzz,固件加解密,vxworks逆向…
前言 家里有两台不用的路由器,型号分别是水星的MW313R和MW325R,曾经只会php之流的web安全、一些二进制安全知识的时候,想试下能不能对这些路由器做点什么,但感觉这个路由器好像还挺安全的样子,实际上最近几个月才知道,这是c写的后端,而且没有连数据库,常规的方法当然打不通 明明看起来这个系列…