pwn 学习之路
pwn for fun!
dittozzz
这个作者很懒,什么都没留下…
展开
-
栈溢出基本ROP绕过ASLR和NX保护
菜鸡刚学rop,总结下,算是对蒸米大佬这篇文章最后一个样例的一点解释说明。笔记中的程序源代码来自 蒸米大佬的x86一步一步学rop http://www.vuln.cn/6645计算溢出点的位置的脚本可以在大佬的github上下载(其实从IDA上也可以计算出来溢出点)https://github.com/zhengmin1989/ROP_STEP_BY_STEP预备知识:了解动态链接中P...原创 2018-12-28 15:39:20 · 3573 阅读 · 1 评论 -
CGfsb writeup 格式化字符串漏洞的简单利用
如果对格式化字符串漏洞不怎么了解,推荐看《灰帽黑客》这本书,也可以看看我博客里的https://blog.csdn.net/qq_43394612/article/details/84900668拿到题目,先看下开启了什么保护措施没有开启PIE(内存地址分布随机化)file下是动态链接运行下就是让你先输入name,再输入message就完事了。放到IDA里看一下。很明显是格...原创 2018-12-22 10:06:50 · 4233 阅读 · 0 评论 -
pwntw start writeup 栈溢出利用自身代码
这题利用了栈溢出,将返回地址覆盖为程序本身地址,造成内存泄露。有个坑是如果你用gdb peda自带的checksec检查防护措施会发现NX是打开的,那么堆栈处的代码无法执行,就无法构造栈里的shellcode,file下发现程序是静态链接的,那就无法利用ret2libc。想了半天也不知道怎么做。就用ubuntu自带的checksec检查下发现根本没有开启NX,可能是gdb的调试环境会影响...原创 2018-12-22 11:03:41 · 670 阅读 · 1 评论 -
栈溢出漏洞原理及基本利用(ret2addr,ret2arg)
菜鸡总结下,方便复习。了解栈溢出漏洞,需要对汇编里的call指令,ret指令,以及函数的调用过程有所了解。简介栈溢出是向栈中写入超过原本长度限制的数据,使栈中的其他数据被覆盖,常见的是覆盖栈中返回地址,改变程序的执行流程。栈溢出漏洞成立需要两个条件,其一是:有向栈中写入数据的行为,另一个是:使用了gets,strcpy,strcat等 不限制数据输入长度或者不检查数组长度的函数。原理函...原创 2018-12-14 17:55:08 · 2084 阅读 · 0 评论 -
格式化字符串漏洞原理详解
菜鸡刚学总结下。理解这个漏洞的原理,你需要有汇编层面的函数调用和函数的参数传递知识。如果你不清楚函数的参数是如何传递的,可以看《加密与解密》的逆向分析技术篇,也可以参考我博客里的(https://blog.csdn.net/qq_43394612/article/details/84350677)和(https://blog.csdn.net/qq_43394612/article/detai...原创 2018-12-08 23:38:02 · 36978 阅读 · 9 评论