我尝试利用以下代码中的简单漏洞,但没有成功,因为我无法手动将特定字符放入终端。例如,如果应用程序从 stdin 读取一个字符,而我必须将一个字符放入终端,我会使用特定十六进制代码的 ascii 字符来覆盖“check”变量。但如果我在 python 或 perl 中将十六进制代码转换为 ascii 代码,然后手动将其放入终端,check 变量将被其他值(十六进制代码)覆盖。我如何正确覆盖“check”?
有漏洞的代码:
我尝试利用以下代码中的简单漏洞,但没有成功,因为我无法手动将特定字符放入终端。例如,如果应用程序从 stdin 读取一个字符,而我必须将一个字符放入终端,我会使用特定十六进制代码的 ascii 字符来覆盖“check”变量。但如果我在 python 或 perl 中将十六进制代码转换为 ascii 代码,然后手动将其放入终端,check 变量将被其他值(十六进制代码)覆盖。我如何正确覆盖“check”?
有漏洞的代码: