<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          悟空云課堂丨代碼安全第五期:OS命令注入漏洞

          共 1150字,需瀏覽 3分鐘

           ·

          2021-03-22 15:12

          Oe1B4uvkmg.jpg

          該欄目為中科天齊全新規(guī)劃的悟空云課堂,旨在科普軟件安全相關(guān)知識,助力企業(yè)有效防范軟件安全漏洞,提升網(wǎng)絡(luò)安全防護(hù)能力。本期主題為OS命令注入漏洞的相關(guān)介紹。


          一、什么是OS命令注入?

          軟件在構(gòu)造OS命令時(shí)使用了外部輸入的數(shù)據(jù),如果沒有對外部輸入中可能影響OS命令的特殊元素進(jìn)行過濾,或是過濾不充分/不正確,就有受到OS命令注入攻擊的風(fēng)險(xiǎn)。

          OS命令注入缺陷允許攻擊者直接在操作系統(tǒng)執(zhí)行各種命令,當(dāng)缺陷存在于網(wǎng)頁應(yīng)用等無法直接訪問操作系統(tǒng)的軟件中時(shí),會造成一些脆弱性問題。而當(dāng)該缺陷存在于有高級權(quán)限的軟件中時(shí),攻擊者可通過缺陷獲得高級權(quán)限,從而造成極大的危害。


          二、OS命令注入兩種常見的子類型有哪些?

          1、應(yīng)用程序通過用戶輸入的參數(shù)來構(gòu)造OS命令。

          例如,程序可能使用system(“nslookup [HOSTNAME]”)來運(yùn)行nslookup命令,其中的HOSTNAME由用戶輸入。由于沒有檢查HOSTNAME中是否存在命令分隔符,攻擊者可將想執(zhí)行的命令通過分隔符加在HOSTNAME中,當(dāng)系統(tǒng)執(zhí)行完nslookup后就會執(zhí)行攻擊者的命令;

          2、應(yīng)用程序?qū)⑤斎氲恼麄€(gè)字符串作為一個(gè)OS命令。

          例如,通過exec([COMMAND])來執(zhí)行命令,其中COMMAND由用戶輸入,此時(shí)攻擊者可以通過命令分隔符注入命令。


          三、OS命令注入漏洞會造成哪些后果?

          關(guān)鍵詞:執(zhí)行未經(jīng)授權(quán)的代碼或命令; DoS:崩潰,退出或重啟; 讀取文件或目錄; 修改文件或目錄; 讀取應(yīng)用數(shù)據(jù); 修改應(yīng)用數(shù)據(jù); 隱藏活動(dòng)。

          攻擊者可以執(zhí)行未經(jīng)授權(quán)的命令,然后可以使用這些命令來禁用軟件,或者讀取和修改攻擊者無權(quán)直接訪問的數(shù)據(jù)。由于目標(biāo)應(yīng)用程序直接執(zhí)行命令而不是攻擊者,因此任何惡意活動(dòng)似乎都來自應(yīng)用程序或應(yīng)用程序的所有者。


          四、如何防范修補(bǔ)OS命令注入漏洞?

          從架構(gòu)和設(shè)計(jì)的角度來說:

          1、要用最小權(quán)限去運(yùn)行程序,不要給予程序多余的權(quán)限,最好只允許在特定的路徑下運(yùn)行,可以通過明確的路徑運(yùn)行命令;

          2、盡可能使用庫或框架:使用不允許此弱點(diǎn)出現(xiàn)的經(jīng)過審核的庫或框架,或提供更容易避免此弱點(diǎn)的構(gòu)造。盡可能地使用庫調(diào)用,而不是調(diào)用外部進(jìn)程來完成所需功能。

          3、減少被攻擊面:對于那些被用于生成待執(zhí)行命令的數(shù)據(jù),盡可能避免其被外部可控的數(shù)據(jù)污染。

          從實(shí)現(xiàn)的角度來說:

          1、雖然使用動(dòng)態(tài)生成的查詢字符串,代碼或命令將控制和數(shù)據(jù)混合在一起是有風(fēng)險(xiǎn)的,但有時(shí)它可能是不可避免的。正確引用參數(shù)并轉(zhuǎn)義這些參數(shù)中的任何特殊字符。最保守的方法是轉(zhuǎn)義或過濾所有未通過極其嚴(yán)格的白名單的字符(例如不是字母數(shù)字或空格的所有內(nèi)容)。如果仍然需要一些特殊字符,例如空格,則在轉(zhuǎn)義/過濾步驟之后將每個(gè)參數(shù)包裝在引號中;

          2、如果只允許運(yùn)行有限的命令,使用白名單方式過濾。


          五、OS命令注入漏洞樣例:

          640.png


          瀏覽 27
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  干屄视频在线观看 | 久久丫精品 | 强伦轩人妻一区二区三区四区 | 欧美在线免费播放不卡欧美 | 久草福利在线观看 |