如何在 ubuntu 终端上输入 ASCII HEX 88 字符以导致缓冲区溢出?

如何在 ubuntu 终端上输入 ASCII HEX 88 字符以导致缓冲区溢出?

我正在尝试对交互式 C 程序执行缓冲区溢出。我必须用一个字节为十六进制值 88 的地址重写 EIP。为此,我必须在提示时输入相应的 ASCII。

我试过控制键+转移+并输入十六进制值 [u88] 来获取字符,但没用。相反,它发送了C288到登记册。

我做了一些研究,发现字符制表集 [HTS]然而我无法找到可以在 Ubuntu 上运行的转义编码。

  • 附言:Perl 或 python 传递\x88这里不是一个选项,因为程序不通过参数接受用户输入。

答案1

我改变了终端的字符编码,然后我就可以通过输入控制键+转移+并输入 88。

终端>设置字符编码

选择西方 (ISO-8859-1)

相关内容