这是一个挑战。而且我只有一个精灵和libc。
程序在linux(x64)上运行。
受NX保护。 PIE和金丝雀关闭了。
在ELF中,只有main(),realpath()和read()。
没有写或看跌期权
在main()中,只有一个read(),并且它有堆栈溢出泄漏。
它具有一个函数hint(),在此函数中,它调用readpath(“ / proc / self / exe”,&resolved)
int main(){
...
read(0, &buf, 0x200uLL);
return 0;
}
char hint(){
char resolved[50];
return realpath("/proc/self/exe", &resolved);
}
现在,我不知道该怎么办。我想泄漏地址并获取baselibc,但是没有write()或puts()。
有人可以给我一些帮助吗?只要告诉我们我应该学习什么。
答案 0 :(得分:0)
游戏仍在继续, 请不要讨论,谢谢。