
pwn
Y0ng.
这个作者很懒,什么都没留下…
展开
-
pwn -- pwnable.kr -- simple-login---学习stack pivot
在看关于pwn的书时学到了 栈帧劫持stack pivot 利用这个例题练习一下。基本思想:stack pivot利用到的gadget是在函数退出时需要的两条指令:leave(mov esp,ebp;pop ebp);ret;。这两条指令基本都会有。可以利用这两条指令,通过栈溢出的方式,实现可以完全控制栈。stack pivot实现的基本方法(我的理解通过栈溢出的方式将 我们之后要实现的完全可控的栈的地址写到EBP的地方写入之后 ,程序第一次leave;ret;,将写入的地址赋给esp。原创 2021-12-24 12:23:52 · 389 阅读 · 0 评论 -
攻防世界 pwn--实时数据检测
32位程序保护都没有开直接拖进ida分析int locker(){ int result; // eax char s[520]; // [esp+0h] [ebp-208h] BYREF fgets(s, 512, stdin); imagemagic(s); // 含printf函数,有格式化字符串漏洞 if ( key == 0x2223322 ) // key在bs原创 2021-11-30 15:32:22 · 349 阅读 · 0 评论 -
攻防世界 pwn--pwn-100
一、checksec一下开启了NX二、 file一下,查看文件属性64位文件三、执行让用户不断输入四、拖进ida里分析看反汇编代码主要代码:数组v1的大小是0x40,后面利用的read函数的size是0xC8,有栈溢出漏洞五、在ida里没有找到可以利用的system("bin/sh)和system("cat flag")六、原程序中没有调用system函数,在GOT和PLT表中没有随system函数的记录,只能从libc中寻找system函数有puts和read函数,可以利用原创 2021-11-28 14:20:44 · 3485 阅读 · 0 评论 -
攻防世界pwn--Mary_Morton
攻防世界pwn–Mary_Mortonfile 一下,查看文件属性checksec一下,查看保护措施开了canary,在调用函数的时候会在栈上设置一个标志,标志的位置:EIPEBPcanary logol···栈的其他内容开了NX,栈不可执行。运行一下ida查看其反汇编代码在ida里看到有system函数:地址:0x4008DAgdb调试,查看格式化字符串参数的位置第六个位置查看有关栈溢出的函数:可以利用的栈溢出的buf的位置:rbp原创 2021-11-16 22:05:42 · 2302 阅读 · 0 评论 -
buuctf pwn1_sctf_2016
checksec一下子,开了NX保护,栈不可执行,也就是说不能往栈上写东西。拖进ida,看vuln()函数:给s分配了0x3C空间的内存,但是只允许输入32个字节但是“you”会把“I”替换掉,所以只要输入20个“I”,替换之后,输入的字符就变成了60个字节,就可以写到栈底从而把ebp覆盖掉,到达eip的地方。20个”I“,加上需要覆盖的ebp的四个字节,加上覆盖到eip的四个字节,共28个字节,没超32.ida里还可以看到get_flag函数。找到函数的地址,写exp:from pwn imp原创 2021-04-27 22:41:51 · 325 阅读 · 0 评论