国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

OS命令注入學習筆記

2023-03-17 09:29 作者:Binary-Royallu科技  | 我要投稿

OS命令注入

調(diào)用OS命令引起的安全隱患:

Web開發(fā)所使用的編程語言中,大多數(shù)都能通過Shell執(zhí)行OS(操作系統(tǒng))命令。通過Shell執(zhí)行OS命令時,或者開發(fā)中用到的某個方法其內(nèi)部利用了Shell時,就有可能出現(xiàn)OS命令被任意執(zhí)行的情況。這種現(xiàn)象被稱為OS命令注入。

安全隱患產(chǎn)生的原因:

內(nèi)部調(diào)用OS命令的函數(shù)以及系統(tǒng)調(diào)用(System Call)中,多數(shù)都通過Shell來啟動命令。Shell是用來操作OS的命令行界面,如Windows中的cmd.exe、Unix系的OS中的sh、bash、csh等。通過Shell來啟動命令,能夠使用管道命令(Pipe)或重定向等功能的使用變的更加便捷。

system(“echo hell > a.txt”); PHP中調(diào)用system函數(shù)。

實際啟動的命令,通過sh調(diào)用命令。 sh -c echo hello > a.txt

然而,Shell提供的便利功能卻會稱為OS命令注入漏洞產(chǎn)生的根源。Shell提供了一次啟動多個命令的語法,因此外界就可以在參數(shù)中做手腳,使得在原來的命令的基礎上又有其他的命令被啟動。這就是OS命令注入。

在Shell中執(zhí)行多條命令:

shell提供了通過制定1行來啟動多個程序的方法。而OS命令注入攻擊就惡意利用了Shell能夠啟動多個程序的特性。比如,在Unix的Shell中,能夠使用以下寫法:

復制

Shell中的元字符:

Windows的cmd.exe中能夠使用&來連續(xù)執(zhí)行多條命令。另外|(管道功能)、&&或||的用法也和Unix、Linux一樣。

Shell中擁有特殊意義的字符(如;、|等)被稱為shell的元字符。把元字符當做普通字符使用時需要對其進行轉(zhuǎn)義。

而如果在指定OS命令參數(shù)的字符串中混入了SHell的元字符,就會使得攻擊者添加的OS命令被執(zhí)行,這也就是OS命令注入漏洞產(chǎn)生的原因。

安全隱患的產(chǎn)生的原因總結(jié):

Web應用的開發(fā)語言中,有些函數(shù)的內(nèi)部實現(xiàn)利用了Shell。如果開發(fā)者使用了這些內(nèi)部調(diào)用Shell的函數(shù),就可能會使得意料之外的OS命令被執(zhí)行。這種狀態(tài)被稱為OS命令注入漏洞。

OS命令注入漏洞的形成需要同時滿足一下三個條件:

  1. 使用了內(nèi)部調(diào)用Shell的函數(shù)(system、open等)

  2. 將倍加傳入的參數(shù)傳遞給內(nèi)部調(diào)用的shell的函數(shù)

  3. 參數(shù)中shell的元字符沒有被轉(zhuǎn)義

解決對策:

為了防范OS命令注入漏洞,有以下三種推薦方式。從高到低。

  1. 選擇不調(diào)用OS命令的實現(xiàn)方法。

    不調(diào)用利用shell的功能,既能杜絕了OS命令注入漏洞混入的可能性,又消除了調(diào)用OS命令的而系統(tǒng)開銷,能夠從多方面提高應用的性能。

  2. 不將外界輸入的字符串傳遞給命令行參數(shù)。

  3. 使用安全的函數(shù)對傳遞給OS命令參數(shù)進行轉(zhuǎn)義。


OS命令注入學習筆記的評論 (共 條)

分享到微博請遵守國家法律
枣强县| 石柱| 平泉县| 渭南市| 内乡县| 尉犁县| 芦山县| 阿尔山市| 闽清县| 济阳县| 清流县| 慈溪市| 霍林郭勒市| 东光县| 上思县| 绥化市| 武安市| 乐安县| 和田县| 扎赉特旗| 静安区| 长葛市| 海南省| 嘉荫县| 嵊州市| 扶余县| 锦州市| 黄浦区| 永登县| 武山县| 广南县| 高要市| 蒙山县| 灌云县| 衡水市| 修武县| 五河县| 鹤山市| 新野县| 嵊州市| 平舆县|