修改ELF文件libc为指定版本

  |  

最近在学习堆时,常常遇到本地libc与题目libc不匹配导致一些骚套路无法在本地调试和利用.要想gdb,不仅得要安个符合版本的虚拟机或起一个docker还有部署一边pwn环境,这一点很烦(#`Д´).于是想找下有没有更方便的方法. 于是找到了patchelf更换libc的方法。

劫持hook函数——学pwn小记(6)

  |  

在glibc中,通过指定hook函数,可以修改malloc()readloc()free()等函数的行为,从而帮助我们调试使用动态分配内存的程序。我们可以利用这一个特性通过篡改hook的值,使程序在调用动态分配内存相关函数前改变程序流,执行我们想执行的代码。

fastbin二次释放——学pwn小记(5)

  |  

在学习pwn时,在接触到堆的知识点时明显感觉自己遇到了瓶颈了。面对各种bin、chunk、glibc感觉一脸蒙蔽,有的感觉不到如何将这些知识用到题目中来.感觉从how2heap学到知识和ctfwiki的知识及pwn爷爷们的python exp代码有的连不上.(tcl!)就这样迷茫了几个月,偶然间在拜读《CTF 竞赛权威指南 pwn篇》的fastbin二次释放时,突然有顿悟,故做个小笔记。(萌新写作欢迎pwn佬指点)

xman pwn题复现——学pwn小记(4)

  |  

最近在查阅资料时,无意中发现之前xman的环境还在,现在粗略的学习pwn.想起当时题都是比较基层的栈,加上上海省赛把pwn环境搞崩了,趁这个机会在怀旧的同时把一些知识点给复习升华下.

flask.request的内置属性总结

  |  

对于一个基于flask的web来说,Request是默认存在且有很多功能离不开Request.request对象是一个Request子类,提供了Werkzeug定义的所有属性以及一些Flask特定的属性。这导致我们有时可以控制request对象来处理一些数据.

对php伪协议的归纳

  |  

PHP不仅自身带有很多内置 URL 风格的封装协议,还之前很多的支持的协议与封装协议.而PHP伪协议, 可以理解是PHP支持的协议与封装协议.我们在通过伪协议来方便地管理php服务器,也可以用伪协议来做些敏感操作。如之前提过的文件包含,除此外还有ssrf、xxe等。

PHP支持的协议有12种。

|