gpt4 book ai didi

shell - 如何将\x00 作为参数传递给程序?

转载 作者:行者123 更新时间:2023-12-02 23:30:38 25 4
gpt4 key购买 nike

我有一个小程序,我希望将 shellcode 作为参数传递。在shellcode中,需要传递\x00。我尝试了以下命令:

./program `python -c 'print "\x01\x00\x00\x00\x9c\xd8\xff\xbf"'`

但是\x00 根本没有被注册!传递给程序的参数是“\x01\x9c\xff\xbf”。

我不认为这是 python 的问题,而是传递参数的 shell 的问题。我正在使用 bash shell。

现在,如何强制 shell 传递参数“\x00”?

感谢和问候,
赫里希凯什·穆拉里

最佳答案

一点也不。 Unix 使用 C 风格字符串作为调用命令的参数,并且它们是以 NUL 结尾的字符序列。

您可以做的是重写您的程序(或找到调用变体)以接受其标准输入中的参数。 NUL 字节在那里工作得很好,而且事实上被广泛使用,通常用作文件名的分隔符,因为它们几乎是文件名中唯一不能包含的内容。有关可以说是最流行的示例,请参阅 find-print0 开关和 xarg 的开关 -0

关于shell - 如何将\x00 作为参数传递给程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7316232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com