仅包含realpath()而不包含write()

时间:2020-10-26 08:45:53

标签: c

这是一个挑战。而且我只有一个精灵和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()。

有人可以给我一些帮助吗?只要告诉我们我应该学习什么。

1 个答案:

答案 0 :(得分:0)

嘿?不要这样做... 如果我猜对了,这就是syc-geek Challenge 2020的挑战pwn222吗? 我是这个pwn挑战的作者。 我将在游戏结束时宣布wp和exp。 嗯,注意挑战提示,

游戏仍在继续, 请不要讨论,谢谢。