once
letter
@TOC
once
写这个题的时候发现了一个工具,可以修改题目加载的libc.so和ld.so文件
patchelf
注释掉的是本地环境下的情况
1 | #!/usr/bin/env python2 |
letter
seccomp禁用了一些系统调用(沙箱保护)所以即使整形溢出也无法通过system,onegadget来getshell
学到了一个工具seccomp-tools
所以这里需要用orw(open-read-write),题解是直接编写的shellcode。。。萌新太难了
我编不来,又看了其他师傅的wp,发现shellcraft可以更快的编出shellcode。
接下来三种思路1.由于输入的lenth位置已知,把lenth最低的一个字节写为“jmp rsp”,就可以通过栈迁移,getshell了。
2.看了一些师傅是重新跳转到溢出的read函数将shellcode读到位置a,再跳转回a,具体的细节很神奇,我看不懂,枯了。还用ret2csu修改了rbp,伪造了栈帧?
3.其他的还可以利用gadget(pop rdi之类的),构造rop链,和2思路差不多,都是read shellcode到bss段,再跳转过去执行
1 | #!/usr/bin/env python2 |
-------------本文结束感谢您的阅读-------------