<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>

          悟空云課堂 | 代碼安全第九期:Switch中省略了break語句導(dǎo)致的代碼缺陷

          共 765字,需瀏覽 2分鐘

           ·

          2021-03-25 10:44

          Oe1B4uvkmg.jpg

          該欄目為中科天齊全新規(guī)劃的悟空云課堂,旨在科普軟件安全相關(guān)知識(shí),助力企業(yè)有效防范軟件安全漏洞,提升網(wǎng)絡(luò)安全防護(hù)能力。本期主題為Switch中省略了break語句導(dǎo)致的代碼缺陷的相關(guān)介紹。


          一、什么是Switch中省略了break語句導(dǎo)致的代碼缺陷?

          break語句通常用在循環(huán)語句和switch語句中。當(dāng)break用于switch語句中時(shí),可使程序跳出switch而執(zhí)行switch以后的語句;如果沒有break語句,則會(huì)從滿足條件的地方(即與switch(表達(dá)式)括號(hào)中表達(dá)式匹配的case)開始執(zhí)行,直到switch結(jié)構(gòu)結(jié)束。

          如果程序在switch或類似構(gòu)造中省略了break語句,則會(huì)導(dǎo)致多個(gè)條件相關(guān)聯(lián)的代碼被執(zhí)行。當(dāng)程序員只打算執(zhí)行與一個(gè)條件相關(guān)的代碼時(shí),這可能會(huì)引起問題,可能導(dǎo)致關(guān)鍵代碼在不該執(zhí)行的情況下執(zhí)行。


          二、Switch中省略了break語句導(dǎo)致的代碼缺陷構(gòu)成條件有哪些?

          1、switch語句的catch塊中沒有break指令。


          三、Switch中省略了break語句導(dǎo)致的代碼缺陷會(huì)造成哪些后果?

          關(guān)鍵字:改變執(zhí)行邏輯

          可能導(dǎo)致執(zhí)行意外的輯和其他意外的應(yīng)用程序行為。


          四、Switch中省略了break語句導(dǎo)致的缺陷防范和修補(bǔ)方法有哪些?

          1、省略一個(gè)break語句會(huì)導(dǎo)致用戶無法區(qū)分是忘記編寫break語句還是開發(fā)人員故意為之。如果確認(rèn)是故意使兩種情況以上使用同一種處理邏輯,確保邏輯正確。

          2、使用if語句替代該功能,這更安全。


          五、Switch中缺少default導(dǎo)致的漏洞樣例:

          5ScB2ZGYLU.png

          用Wukong軟件檢測(cè)上述程序代碼,可以發(fā)現(xiàn)代碼中存在著switch中省略了break語句的缺陷,如下圖:

          Fig8gIWp36.png

          switch中省略了break語句在CWE中被編號(hào)為CWE-484: Omitted Break Statement in Switch


          瀏覽 25
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(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>
                  一级一级一级一级一级一级 | 免费精品黄色网页 | 天天干天天干 | 伊人免费视频 | 免费在线看黄色 |