五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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命令注入學習筆記的評論 (共 條)

分享到微博請遵守國家法律
江西省| 乐业县| 大新县| 遂溪县| 高邮市| 邹平县| 祁门县| 万全县| 兴仁县| 永德县| 资溪县| 永康市| 太保市| 开远市| 邵阳市| 磐石市| 玉田县| 丰顺县| 上蔡县| 靖西县| 双流县| 简阳市| 壤塘县| 蓬溪县| 沐川县| 临武县| 卫辉市| 弋阳县| 明溪县| 敖汉旗| 赞皇县| 阿克苏市| 略阳县| 达州市| 洪湖市| 宁海县| 涿鹿县| 伊川县| 南宫市| 龙山县| 集贤县|