即使是使用安全開發(fā)程序構(gòu)建的軟件,由于其所依賴的解釋性編程語言的缺陷,仍然容易受到攻擊。
在上周舉行的 Black Hat Europe 大會(huì)上,IOActive 研究人員 Fernando Arnaboldi 稱,他發(fā)現(xiàn) 5 種流行編程語言解釋器中的嚴(yán)重漏洞,會(huì)讓使用這些語言開發(fā)的應(yīng)用更易受到攻擊。
Arnaboldi 的發(fā)現(xiàn)如下:
Python 有未記錄的方法和環(huán)境變量能被用于 OS 命令執(zhí)行;
NodeJS 作為 JavaScript 解釋器, 會(huì)通過其輸出的錯(cuò)誤信息暴露文件內(nèi)容;
Ruby 的 Java 實(shí)現(xiàn) JRuby 會(huì)在一個(gè)并非設(shè)計(jì)遠(yuǎn)程代碼執(zhí)行的函數(shù)上加載和執(zhí)行遠(yuǎn)程代碼;
PHP 中,某些本地函數(shù)可以傳遞一個(gè)常量的名字來執(zhí)行遠(yuǎn)程命令執(zhí)行。
Perl 中有一種可執(zhí)行如 eval() 的 typemap 函數(shù)
編譯自:ZDNet