我最近发现我正在工作的服务器有一个 xinetd 服务,它实际上是一个 shell 脚本,它使用通过相应的网络连接检索的参数调用另一个 shell 脚本。
它的功能如下:
/execute/another/script $WITH $A $FEW $ARGUMENTS
让我担心这是一个真正问题的原因是变量没有以任何方式进行清理,而且因为这是以 root 身份执行的,所以需要认真对待。
有人能提供建议吗?我也很想知道在这种情况下如何滥用变量来执行其他操作,有人可以提供一些例子吗?
答案1
我发现有两种类型的攻击。一种是针对脚本本身的攻击,通过调用脚本并输入可提升权限的数据。另一种是针对 bash 的攻击,通过使用缓冲区溢出或其他 bash 漏洞。一个问题是,bash 的设计安全性并不高,因为它认为输入是由发起攻击的人提供的。
至少我会更新 bash 脚本以便能够以普通用户身份运行,并使用sudo
或其他 Unix 机制来执行需要提升权限的操作。
答案2
这个怎么样?
export ARGUMENTS='ValidArg&mkdir /var/tmp/hello_there'