天天看點

代碼審計的思路

seay 代碼審計中總結:

常見的代碼審計思路有以下四種: 

1) 根據敏感關鍵字回溯參數傳遞過程

2) 查找可控變量,正向追蹤變量傳遞過程

3) 尋找敏感功能點,通讀功能點代碼

4) 直接通讀全文代碼

一:根據敏感關鍵字回溯參數傳遞過程

根據敏感函數來逆向追蹤參數的傳遞過程,是目前使用得最多的一種方式,因為大多數漏洞是由于函數的使用不當造成的。另外非函數使用不當的漏洞,如 SQL 注入,也有一些特征,比如 Select、 Insert 等,再結合 From 和 Where 等關鍵字,我們就可以判斷這是否是一條 SQL 語句,通過對字元串的識别分析,就能判斷這個 SQL 語句裡面的參數有沒有使用單引号過濾,或者根據我們的經驗來判斷。

像 HTTP 頭裡面的 HTTP_ CLIENT_ IP 和 HTTP_ X_ FORWORDFOR 等擷取到的 IP 位址經常沒有安全過濾就直接拼接到 SQL 語句中,并且由于它們是在$_ SERVER 變量中不受 GPC 的影響,那我們就可以去查找 HTTP_ CLIENT_ IP 和 HTTP_ X_ FORWORDFOR 關鍵字來快速尋找漏洞。

繼續閱讀