利用$0getshell
利用$0getshell
前言
做一道限制了/bin/sh的题的时候,想了好多办法去绕过限制和平衡栈,但是没想到一个奇怪的利用姿势,利用shell的$0去getshell
$0
在shell中
- $0 就是编写的shell脚本本身的名字
- $1 是在运行shell脚本传的第一个参数
- $2 是在运行shell脚本传的第二个参数
- $$ Shell本身的PID(ProcessID,即脚本运行的当前 进程ID号)
- $! Shell最后运行的后台Process的PID(后台运行的最后一个进程的 进程ID号)
- $? 最后运行的命令的结束代码(返回值)
这里$0就是我们需要用到的了,在pwn题的远程环境中,这个0就是shell
利用
所以我们在执行system函数的时候可以执行system(“$0”)去代替system(“/bin/sh”)
效果是一样的,类似于下面这样
1 | system=0x0400712 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Daily Study!