【代碼審計01】幾種常見的漏洞種類以及代碼審計工具

前言php

       代碼審計是在通過黑盒測試完畢,也就是檢查應用的基本功能是否符合產品業務需求下進行的。須要有必定的編碼基礎以及對漏洞造成原理的基本認知,經過工具或者經驗檢測代碼中可能出現的bug,並在不一樣平臺(windows,linux),不一樣PHP版本下測試。好比PHP的不少新版本會對一些指令廢棄刪除,可是在舊版本中卻能使用,而該版本下的指令即有可能會被人發現漏洞。linux

 

PHP核心配置windows

      PHP配置對於大多數人都是經過php.ini設置,但實際上是有配置範圍的,好比一些指令配置只能經過php.ini配置,也有一些能夠在PHP腳本中設置,經過ini_set()函數,詳細能夠查詢PHP_INI.*的列表和ini_set使用方法。瀏覽器

 

代碼審計工具函數

1.seay源代碼審計工具(公衆號回覆"審計"可獲取)工具

 

2. HackBar漏洞驗證輔助(火狐瀏覽器擴展)學習

代碼審計思路測試

1. 查看敏感函數追蹤參數編碼

2. 所有通讀一遍源碼瞭解邏輯3d

3. 按功能點審計追蹤

 

常見的幾種漏洞類型

1. SQL注入

2. XSS漏洞(跨站腳本攻擊)

3. CSRF漏洞(跨站請求僞造)

4. 文件操做漏洞

5. 代碼執行漏洞

6. 命令執行漏洞

7. 變量覆蓋漏洞

8. 業務邏輯漏洞

9. 越權與提權

10. 二次注入

11. ……等等

 

小結&待續

       因爲在代碼審計中會涉及到不少知識點,因此這裏只先總結一個引文。瞭解幾種常見的漏洞類型,而這些漏洞也都有特定的例子能夠挖掘,須要在工做或學習中不斷積累分析,而且找到最好的防範方案解決。好比程序中須要注意接收與輸出。獲取用戶提交過來的數據或操做,都說:」不要相信用戶的任何操做」。用戶可能只是一個腳本,天然就存在XSS,爆破,CSRF,操做越權等等的風險。而輸入多是由咱們接收完用戶輸入直接反射性輸出或把接收數據存儲後再根據業務邏輯存儲型輸出。因此每個函數或方法編寫時對參數的校驗過濾以及返回值的轉換處理等等都必不可少。而應用的功能點好比評論,登錄註冊,找回密碼,獲取驗證碼,上傳文件圖片,提現抽獎,積分等都最會是別人盯上找漏洞的地方,除了經過限制次數,IP防止暴力登錄每每還不夠。單說獲取IP地址,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR,REMOTE_ADDR均可以獲取,而前二者可使用http header僞造,這時候對於一個IP的真實性須要比較一下這三種獲取方式的不一樣點再來實現功能。還有驗證碼,有圖片驗證,滑動驗證,語音驗證,短信驗證等,但網上也存在圖片識別,打碼平臺相應的工具。只能說防範手段在升級,漏洞也在不斷升級,代碼審計必不可少。

相關文章
相關標籤/搜索