常用的安全漏洞修復建議

2021-08-18 03:49:28 字數 3623 閱讀 8767

通過把

sql命令插入到

web表單提交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的

sql命令。將(惡意的)

sql命令注入到後台資料庫引擎執行的能力,它可以通過在

web表單中輸入(惡意)

sql語句得到乙個存在安全漏洞的**上的資料庫,而不是按照設計者意圖去執行

sql語句。導致敏感資訊洩漏、破壞資料庫內容和結構、甚至利用資料庫本身的擴充套件功能控**務器作業系統。

1.對進入資料庫的特殊字元('"\尖括號&*;等)進行轉義處理,或編碼轉換。

2.嚴格限制變數型別,資料庫中的儲存字段必須對應為int型。

3.資料長度應該嚴格規定,能在一定程度上防止比較長的sql注入語句無法正確執行。

4.**每個資料層的編碼統一,建議全部使用utf-8編碼,上下層編碼不一致有可能導致一些過濾模型被繞過。

5.嚴格限制**使用者的資料庫的操作許可權,給此使用者提供僅僅能夠滿足其工作的許可權,從而最大限度的減少注入攻擊對資料庫的危害。

6.避免**顯示sql錯誤資訊,比如型別錯誤、欄位不匹配等,防止攻擊者利用這些錯誤資訊進行一些判斷。

7.在**發布之前建議使用一些專業的sql注入檢測工具進行檢測,及時修補這些sql注入漏洞。

8.確認php配置檔案中的magic_quotes_gpc選項保持開啟。

xss又叫

css(cross-sitescripting),

跨站指令碼攻擊

。惡意攻擊者往web頁面裡插入惡意

html**

,當使用者瀏覽該頁之時,嵌入其中web裡面的

html

**會被執行,從而達到惡意使用者的特殊目的。主要指的自己構造

xss跨站漏洞

網頁或者尋找非目標機以外的有跨站漏洞的網頁。

1.編碼:

使用者輸入的資料進行html entity編碼。

2.過濾:

移除使用者上傳的dom屬性,如

onerror

等,移除使用者上傳的

style

節點,script

節點,iframe

節點等。

3.

校正:避免直接對html entity編碼,使用

dom prase

轉換,校正不配對的

dom標籤。

上傳漏洞這個顧名思義,就是攻擊者通過上傳木馬檔案,直接得到

webshell

,危害等級超級高,現在的入侵中上傳漏洞也是常見的漏洞。導致該漏洞的原因在於**作者沒有對訪客提交的資料進行檢驗或者過濾不嚴,可以直接提交修改過的資料繞過副檔名的檢驗。1.

對檔案格式限制,只允許某些格式上傳。

2.對檔案格式進行校驗,前端跟伺服器都要進行校驗(前端校驗副檔名,伺服器校驗副檔名、

content_type

等)。3.將上傳目錄防止到專案工程目錄之外,當做靜態資源檔案路徑,並且對檔案的許可權進行設定,禁止檔案下的執行許可權。1.

過濾點(.)使使用者在

url中不能回溯上級目錄

。2.正則嚴格判斷使用者輸入引數的格式。

urlurl

。通過提交專門設計的輸入,攻擊者就可以在被訪問的檔案系統中讀取或寫入任意內容,往往能夠使攻擊者從伺服器上獲取敏感資訊檔案。

過濾.(點)等可能的惡意字元:這個試用於能夠修改線上**,最為推薦的方法

正則判斷使用者輸入的引數的格式,看輸入的格式是否合法:這個方法的匹配最為準確和細緻,但是有很大難度,需要大量時間配置規則。

通過引入檔案時,引用的檔名,使用者可控,由於傳入的檔名沒有經過合理的校驗,或者檢驗被繞過,從而操作了預想之外的檔案,就可能導致意外的檔案洩露甚至惡意的**注入。

遠端命令執行漏洞,使用者通過

瀏覽器提交執行命令,由於伺服器端沒有針對執行函式做過濾,導致在沒有指定

絕對路徑

的情況下就執行命令,可能會允許攻擊者通過改變 $path 或程式執行環境的其他方面來執行乙個惡意構造的**。

1.·建議假定所有輸入都是可疑的,嘗試對所有輸入提交可能執行命令的構造語句進行嚴格的檢查或者控制外部輸入,系統命令執行函式的引數不允許外部傳遞。

2.不僅要驗證資料的型別,還要驗證其格式、長度、範圍和內容。

3.不要僅僅在客戶端做資料的驗證與過濾,關鍵的過濾步驟在

服務端進行。

4.對輸出的資料也要檢查,資料庫裡的值有可能會在乙個大**的多處都有輸出,即使在輸入做了編碼等操作,在各處的輸出點時也要進行安全檢查。

5.在發布應用程式之前測試所有已知的威脅。

後門程式一般是指那些繞過安全性控制而獲取對程式或系統訪問權的程式方法。在軟體的開發階段,程式設計師常常會在軟體內建立後門程式以便可以修改程式設計中的缺陷。但是,如果這些後門被其他人知道,或是在發布軟體之前沒有刪除後門程式,那麼它就成了安全風險,容易被黑客當成漏洞進行攻擊。

弱口令(weak password) 沒有嚴格和準確的定義,通常認為容易被別人(他們有可能對你很了解)猜測到或被破解工具破解的口令均為弱口令。弱口令指的是僅包含簡單數字和字母的口令,例如「

123」、「

abc」等,因為這樣的口令很容易被別人破解,從而使使用者的計算機面臨風險,因此不推薦使用者使用。

未授權訪問可以理解為需要安全配置或許可權認證的位址、授權頁面存在缺陷,導致其他使用者可以直接訪問,從而引發重要許可權可被操作、資料庫、**目錄等敏感資訊洩露。

修復建議

1.增加服務的認證配置。

2.禁止使用root許可權啟動本服務。

3.對服務訪問時需要啟用密碼認證,並且新增 ip 訪問限制。

4.修改服務的預設埠,採用其他埠服務,配置服務**位址限制策略

。許可權提公升是指利用系統中的

安全漏洞

或是別的方法使得自己突破了原來的限制,能夠非法訪問對方目錄甚至是使得自己能夠向

管理員那樣來獲取整個

系統控制,簡稱

提權。1.定期進行韌體、中介軟體的公升級。

2.不要給員工設定工作之外的許可權。

3.對檔案格式限制,只允許某些格式上傳。

越權漏洞是比較常見的漏洞型別,越權漏洞可以理解為,乙個正常的使用者a通常只能夠對自己的一些資訊進行增刪改查,但是由於程式設計師的一時疏忽,對資訊進行增刪改查的時候沒有進行乙個判斷,判斷所需要操作的資訊是否屬於對應的使用者,可以導致使用者

a可以操作其他人的資訊。​

1.伺服器端使用的是

服務而不是

,實際上還是可以在使用者註冊時通過抓包工具獲取

token

來進行惡意操作,但加了許可權認證之後黑客只能通過構造請求來對

token

對應的使用者進行惡意操作。

2. 日常開發中要多留意業務邏輯可能出現的漏洞和水平許可權漏洞或者其它我未發現的漏洞,不能因為框架本身提供了基本的安全防護就對安全掉以輕心,畢竟咱要立志往伺服器端發展。

邏輯錯誤漏洞是指由於程式邏輯不嚴或邏輯太複雜,導致一些邏輯分支不能夠正常處理或處理錯誤

。1. 在輸入介面設定驗證。

2. 註冊介面的介面不要返回太多敏感資訊,以防遭到黑客製作列舉字典。

3. 驗證碼請不要以短數字來甚至,最好是以字母加數字進行組合,並且驗證碼需要設定時間期限。

命令執行漏洞攻擊 修復建議

應用程式有時需要呼叫一些執行系統命令的函式,如在php中,使用system exec shell exec passthru popen proc popen等函式可以執行系統命令。當黑客能控制這些函式中的引數時,就可以將惡意的系統命令拼接到正常命令中,從而造成命令執行攻擊,這就是命令執行漏洞。頁面...

appscan 安全漏洞修復

1.會話標識未更新 登入頁面加入以下 request.getsession true invalidate 清空session cookie cookie request.getcookies 0 獲取cookie cookie.setmaxage 0 讓cookie過期 不是很明白session的...

Linux Bash安全漏洞修復

1.影響的系統包括 centos debian redhat ubuntu 2.檢查系統是否要修復 root mysql env x echo vulnerable bash c echo this is a test vulnerable this is a test root mysql 如果輸...