我最近发现我正在处理的服务器有一个xinetd服务,实际上是一个
shell脚本,它
调用另一个
shell脚本,并通过相应的网络连接检索参数.
它做了这样的事情:
/execute/another/script $WITH $A $FEW $ARGUMENTS
令我担心这是一个真正的问题是变量没有以任何方式消毒,因为这是以root身份执行的,所以需要认真对待.
有人可以建议吗?我也很想知道如何在这种情况下滥用变量以便执行其他操作,有人可以提供示例吗?
我可以看到两种类型的攻击.一个针对脚本本身,通过使用可以提升特权的数据
调用它.另一个
反对bash,使用缓冲区溢出或其他bash
错误.一个问题是bash并不是为了对这种攻击提供良好的安全性,因为它希望输入是由与启动它的人相同的人提供的.
至少我会更新bash脚本以便能够以普通用户身份运行并使用sudo或其他Unix机制来处理需要提升权限的事情.