我正在编写一个在具有提升权限的Windows机器上运行的应用程序。
它通过https在Web服务器上调用api并返回可执行文件的路径(例如c:\ windows \ calc.exe)
然后该软件被用来启动该可执行文件。
我想要实现的目标是让应用程序能够安全地攻击那些想要浏览运行我的应用程序的计算机的攻击者,以防他们破解服务器并使api返回任意字符串。
我认为过滤常见攻击向量的字符串是一个很好的起点,但我应该在字符串中寻找什么?
我知道在这种情况下没有完美的解决方案,但我期待一些可以防止平庸黑客的想法。
谢谢。
答案 0 :(得分:1)
不要接受任意命令字符串。而是从已知值的固定列表发送 - 白名单。在接收端,将值转换为相应的命令字符串。例如,如果要运行10个命令,请发送1到10之间的数字。