信息安全工程師案例分析當天每日一練試題地址:www.jazzmuze.com/exam/ExamDayAL.aspx?t1=6
往期信息安全工程師每日一練試題匯總:www.jazzmuze.com/class/27/e6_1.html
信息安全工程師案例分析每日一練試題(2021/11/2)在線測試:www.jazzmuze.com/exam/ExamDayAL.aspx?t1=6&day=2021/11/2
點擊查看:更多信息安全工程師習題與指導
信息安全工程師案例分析每日一練試題內容(2021/11/2)
閱讀下列說明和代碼,回答問題1和問題2,將解答卸載答題紙的對應欄內。
【說明】
某一本地口令驗證函數(C語言環(huán)境,X86_32指令集)包含如下關鍵代碼:某用戶的口令保存在字符數組origPassword中,用戶輸入的口令保存在字符數組userPassword中,如果兩個數組中的內容相同則允許進入系統。
【問題1】(4分)
用戶在調用gets()函數時輸入什么樣式的字符串,可以在不知道原始口令“Secret”的情況下繞過該口令驗證函數的限制?
【問題2】(4分)
上述代碼存在什么類型的安全隱患?請給出消除該安全隱患的思路。
信管網考友試題答案分享:
信管網cnitpm430965388779:
1、前12個字符,和后門12個字符一樣,中間用于過度填充,如格式 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2、緩沖區(qū)溢出,輸入參數校驗長度和字符類型
信管網cnitpm457339504572:
六位字符串
溢出漏洞
上述代碼的userpasswordi一共開辟了12個空間,若gets()輸入長度大于12的字符串,將會出現溢出
將userpasssword由固定的靜態(tài)分配空間改為動態(tài)分配空間
信管網安全最重要吧:
問題一:輸入24個字符串長度的值,前12個字符串跟后12個字符串一樣。比如123456789456123456789456<br>問題二:內存溢出<br>通過獲取userpassword的值時需要限制輸入的字符串的長度為12個字符
信管網cnitpm50331607771:
1、密碼是12字節(jié)的字符串 如果輸入24位字符串 使得前12個字符和后12個字符一樣,就可以跳過
2,緩沖區(qū)溢出的安全隱患,以上程序必須保證輸入字符的長度小于等于12個字符,如果超過12個字符就會發(fā)生緩沖區(qū)溢出
使用安全函數來代替gets(),對用戶輸入的字符串進行檢查和校對,不可以超過12個字符,還可以使用if語句判斷輸入是否越界。
溫馨提示:因考試政策、內容不斷變化與調整,信管網網站提供的以上信息僅供參考,如有異議,請以權威部門公布的內容為準!
信管網致力于為廣大信管從業(yè)人員、愛好者、大學生提供專業(yè)、高質量的課程和服務,解決其考試證書、技能提升和就業(yè)的需求。
信管網軟考課程由信管網依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學員考試保駕護航。面授、直播&錄播,多種班型靈活學習,滿足不同學員考證需求,降低課程學習難度,使學習效果事半功倍。
發(fā)表評論 查看完整評論 | |