我怀疑Bioconductor的安装机制。看起来它只是从HTTP URL执行(通过source()
)R脚本。这不是一种不安全的方法,容易受到中间人攻击吗?我认为他们应该使用HTTPS。如果没有,有人可以解释为什么当前的方法是可以接受的吗?
答案 0 :(得分:1)
是的,你是对的。
通过明文连接加载可执行代码很容易受到MITM的攻击。</ p>
除非通过HTTPS加载,其中SSL / TLS可用于加密和验证连接,或者除非代码已经signed并在客户端验证,否则MITM攻击者可能会更改输入流并导致任意代码在你的系统上执行。
答案 1 :(得分:0)
允许代码通过HTTP GET
请求执行实质上意味着您允许应用程序直接处理用户输入,从而直接影响应用程序的行为。虽然这通常是开发人员想要的(比如从数据库中查询特定信息),但它可能会像您已经提到的那样被利用(例如MITM)。这通常(但我并没有直接指代Bioconductor)是一个坏主意,因为它打开系统可能的XSS /(B)SQLi攻击等。
但是,URL - http://bioconductor.org/biocLite.R实际上只是放在Web服务器上的文件,而且似乎source()
正用于直接下载它。在这个例子中似乎没有任何用户输入,所以不,我不会标记是不安全的;但是你的比喻确实是正确的。
注意:这只是指GET请求 - 例如:http://example.com/artists/artist.php?id=1
。这种不安全感可以在许多HTTP请求中被利用,例如Host Header攻击,但是一般概念是相同的。应用程序以任何方式直接处理用户输入 。