討論安全漏洞的原理,談談工具的侷限。
先說下掃瞄工具的原理:
掃瞄工具可以看做由兩部分組成:爬蟲+校驗機構。爬蟲的作用是蒐集整個被採集物件的鏈結,然後校驗機構對這些鏈結逐一進行驗證。
說掃瞄工具的侷限:
侷限1:掃瞄未必全面
乙個**,能不能被掃瞄全面,很大程度取決於爬蟲蒐集鏈結的能力。我做過爬蟲的測試,所以大致知道爬蟲的原理,就是對給定的入口位址發起請求,然後從返 回的內容中抽取鏈結,然後再請求抽取到的鏈結,如此反覆。包含在html中的鏈結,很容易被抽取到,但是由js生成的鏈結,抽取的時候就有些難度了,由 flash生成的鏈結,更是難於被抽取到。此時有人想說驗證碼了吧?我們做測試可以要求**開綠燈,暫時遮蔽驗證碼,這個倒可以不考慮。目前ajax 技術的流行,更讓爬蟲蒐集鏈結的能力顯得捉襟見肘。所以這就暴露出了掃瞄工具的第乙個侷限,掃瞄未必全面。
如果你覺得掃瞄不全面可以通過多分析和從不同的入口位址多測試幾遍可以克服的話,這個侷限就稍微比上邊那個有點難度了。這個主要是「校驗機構」的侷限,校驗機構的工作原理是對特定格式的鏈結或者特定格式的表單匹配特定的模擬攻擊用例,模擬攻擊。我們知道,攻擊是乙個請求的過程,也就是乙個request,而攻擊的結果怎麼看?只能從response裡看了。以sql注入為例,當傳送乙個1'這樣的引數值到後台之後,如果返回頁面內容中包含了sqlexception,那麼掃瞄工具就認定它是乙個sql注入漏洞。但是如果**設定了錯誤頁面,在有異常發生時直接跳轉到乙個錯誤頁面,告訴你「出錯啦!」,然後再沒其它資訊,採集工具怎麼判斷是否存在漏洞?難道你去跟研發人員說「麻煩您把錯誤頁面去掉」嗎?要真說了,我們高傲的研發人員肯定不會給你好臉色的。
侷限3:對特定的場景不適合
以上只是列舉了3點,算是提醒大家多注意一點工具以外的事兒吧,測試這個東西,不是拿個工具就能搞定的。我說這些不是 說大家以後不要用工具,而是要正確的用工具。乙個測試申請提交以後,應該首先分析哪些地方可能是工具覆蓋不到的,把這些地方先人工檢查,剩下的再用工具做 全站覆蓋掃瞄。
ICT測試侷限性分析
在實際的電路板上,大量各式主,被動元件通過串,併聯方式連線起來.下述情形,ict無法測試或無法準確測試.1 探針不可即的零件 一般來說,每個零件的兩端 或各引腳 所在的銅箔面均有探針觸及才可測試.目前,本廠smt零件,ic腳 包括懸空引腳 少數因沒有相應的test point而未取探針,致使這顆零件...
SQLite的侷限性
sql 92特性方面 正如前面提到的,sqlite不支援sql 92的在很多企業資料庫系統中可用的一些特性。如 外來鍵約束 可解析的,但非強制 很多alter table特性 一些trigger相關的特性 right和full outer join 更新乙個view grant和revoke 你可以...
SQLite的侷限性
sqlite和其他大部分現代sql資料庫在基本設計目標上是不同的,它的目標是簡單。sqlite遵循這一目標,即使這樣偶爾會導致某些特性實現的低效化。下面列舉了sqlite的一些缺陷 sql 92特性方面 正如前面提到的,sqlite不支援sql 92的在很多企業資料庫系統中可用的一些特性。如 外來鍵...