我正在编写一个应用程序,它以提升的权限在windows机器上运行。
它通过https调用web服务器上的api,并返回可执行文件(例如c:\windows\calc.exe)的路径。
则支持该软件来启动该可执行文件。
我想要实现的是确保应用程序的安全,防止攻击者入侵我的应用程序运行的机器,以防他们入侵服务器并使api返回任意字符串。
我认为过滤字符串中的常见攻击向量是一个很好的起点,但我应该在字符串中查找什么呢?
我知道在这种情况下没有完美的解决方案,但我期待着一些想法,可以防止平庸的黑客。
谢谢。
发布于 2016-05-31 20:56:28
不接受任意的命令字符串。取而代之的是,从已知值的固定列表--白名单中发送。在接收端,将该值转换为相应的命令字符串。例如,如果要运行10个命令,则发送一个介于1和10之间的数字。
https://stackoverflow.com/questions/37543960
复制相似问题