新聞中心
PHP、JS 等主流編程語言爆安全漏洞

創(chuàng)新互聯(lián)建站主要從事網(wǎng)站制作、成都網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務濱海,十載網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18982081108
沒有不漏的鍋,如果底層的編程語言如果出現(xiàn)問題,頂層的應用程序還能幸免于難嗎?
這周在 Black Hat Europe 2017 安全會議上,一名安全研究員公開了幾款目前非常流行的解釋型編程語言中出現(xiàn)的漏洞。這些編程語言上存在的問題,可能讓運用這些語言開發(fā)的應用程序因此也很容易遭受攻擊。
這項研究的作者是 IOActive 的高級安全顧問 Fernando Arnaboldi。這位專家表示他使用了自動化的模糊測試工具在解釋器中對五種編程語言進行了測試:Java,Perl,PHP,Python和Ruby。在對默認庫和內(nèi)置函數(shù)進行模糊測試之后,他在研究中公布了每種語言存在的一些問題。
圖0:JavaScript、PHP、Python等主流編程語言爆安全漏洞
使用 XDiFF 對 5 款語言進行模糊測試
使用模糊測試工具,對軟件進行測試通常需要檢測到不尋常的行為,以及對內(nèi)存崩潰以及溢出進行檢測。
目前比較流行的測試工具(如AFL和Peach)通常需要在尋找漏洞的時候的時候采用相同的邏輯,而這些工具無法存儲執(zhí)行過的測試用例的信息。
在這位研究員的研究過程中,他自定義了自己的模糊測試工具 XDiFF(擴展差分模糊測試框架),以此適應這幾款不同的編程語言。在測試過程中,他將每種編程語言都分解成了最基本的功能,然后使用XDiFF來提供各種payload輸入來進行測試。
圖1:JavaScript、PHP、Python等主流編程語言爆安全漏洞
在這次測試中,我們的的輸入中主要使用了不到 30 種的原始數(shù)據(jù)類型,但也有一些特別的payload。這些特別的payload 是用于測試程序獲取外部數(shù)據(jù)資源時是否會出現(xiàn)問題。
以上這些測試都是用于分析測試目標——是否會出現(xiàn)“暴露本地文件、未授權(quán)的代碼注入、未授權(quán)的系統(tǒng)代碼執(zhí)行操作”等安全問題。
測試結(jié)果:均暴露出問題
而從他的測試結(jié)果來看,我們確實可以看到Java、PHP、Ruby、Perl、Python分別在經(jīng)歷了多項測試之后,暴露出來了哪些問題。
- Python中存在可用于OS命令執(zhí)行的未記錄方法和本地環(huán)境變量。
- Perl 中有一種可執(zhí)行如 eval() 的 typemap 函數(shù)。
- NodeJS 中輸出的錯誤信息會泄露部分文件內(nèi)容。
- JRuby 可以加載和執(zhí)行并非設(shè)計為遠程代碼執(zhí)行的代碼
- PHP中常量的名字可以用來執(zhí)行遠程命令。
最安全的應用層序也會因此“倒下”
Arnaboldi 表示攻擊者可以利用這些編程語言上的漏洞來“放倒”最安全的應用程序。
一些軟件開發(fā)者可能會在沒有意識到的情況下將代碼包含在應用程序中,而這些代碼可能導致的后果卻是開發(fā)者沒有考慮到的。
即便是按照安全指南來進行開發(fā)的最安全的應用程序也可能會因此出現(xiàn)“安全隱患”。
即便開發(fā)者沒有惡意企圖,但這些漏洞也可能因為開發(fā)者無意識或試圖簡化開發(fā)而引入進來。
圖2:JavaScript、PHP、Python等主流編程語言爆安全漏洞
目前XDiFF已經(jīng)作為開源項目公布在GitHub上。
更具體的演講和演示內(nèi)容也可以在Arnaboldi的論文中了解。
參考資料:
- http://securityaffairs.co/
- https://www.bleepingcomputer.com/
本文標題:JavaScript、PHP、Python等5款主流編程語言爆安全漏洞
網(wǎng)站URL:http://fisionsoft.com.cn/article/dpjephg.html


咨詢
建站咨詢
