這篇文獻,作者針對基於php語言開發的web應用程式產生的汙點型漏洞,提出了一種靜態**分析檢測的方法。
先解釋一下什麼叫汙點型漏洞,由於對於使用者的輸入沒有進行有效的過濾,使其進入敏感函式,導致漏洞產生。
作者的具體思路是:對每個php檔案和函式構造控制流圖(就是cfg),通過變數回溯的方式提取有效路徑(這裡的有效路徑,個人理解為輸入點到敏感函式之間的路徑),以減少不必要的路徑分析,以及通過函式摘要的方式優化分析效率。通過對php內建特徵的建模進行更加精確的字串分析和漏洞模型構建。實現了原型系統tvfinder,並驗證了其可行性,還發現了大量未公開漏洞。
原型系統主要由兩大塊組成:預處理階段和汙點分析階段。
其中預處理階段主要是基於php內建函式token_get_all和token_name對php程式分詞,生成ast(抽象語法樹),進而在ast的基礎上進行php的語法和詞法分析,精確地字串分析提取函式摘要,並建立cfg,其中函式摘要的準確性和cfg的完整性,保證了汙點分析的準確性和效率。汙點分析階段在前一階段的基礎上通過變數回溯的方法提取有效路徑,將無關的路徑「剪枝」,判斷使用者輸入到達敏感點的路徑上是否經過了有效的過濾,進而判斷是否存在漏洞。
本篇文獻主要是針對php應用程式的面向過程的**塊,主要以sql注入漏洞和任意檔案讀取漏洞為檢測物件。
基礎 源型漏型
因各品牌廠家plc設計使用的不同,對於源型和漏型的定義也相對不同 例如三菱的定義和西門子的定義正好相反 源型輸入與漏型輸入,都是相對於plc公共端 com端或m端 而言,電流流出則為源型,電流流入則為漏型。漏型輸入電路如圖所示,此時,電流從plc 公共端 com端或m端 流入,而從輸入端流出,即pl...
php查漏補遺
執行php檔案 php.exe f php檔案路徑 php.exe f index.php 執行php php.exe r php指令碼 php.exe r echo helloworld 設定時區 預設時區不對,需要調整時區 方式一 通過php.ini方式調整 date.timezone asia...
帶你認識PLC輸入的源型與漏型接法
在plc的訊號輸入接線中經常聽到源型輸入接法和漏型輸入接法,很多人對於源型接法和漏型接法一直搞不明白,到底何為源型接法,何為漏型接法。今天我就帶大家認識一下到底什麼是源型接法,什麼是漏型接法。源型和漏型一般針對的是電晶體電路而言的。從字面上的意思就可以理解,漏型 sink 指的是訊號漏掉即訊號的流出...