當不受信任的資料作為命令或查詢的一部分傳送到直譯器時,會發生注入漏洞,例如sql,nosql,os,ldap注入(輕量目錄訪問協議),xpath(xpath即為xml路徑語言,它是一種用來確定xml(標準通用標記語言的子集)文件中某部分位置的語言),hql注入等。
危害如下:
注入可以導致資料丟失或被破壞,缺乏可審計性或拒絕服務。注入漏洞有時甚至可導致完全接管主機。
如何防範:
使用安全的api,避免使用直譯器
對輸入的特殊的字元進行escape轉義處理。
例如:like '%***%' escape 『***』使用白名單來規範化的輸入驗證方法使用escape關鍵字定義了轉義字元「***」,告訴dbms將搜尋字串「%***%」中的第二個百分符(%)作為實際值,而不是萬用字元
與認證和會話管理相關的應用程式功能往往得不到正確實施,導致了攻擊者可以破壞密碼,金鑰,會話令牌或實施漏洞冒充其他使用者身份。
危害如下:
這些漏洞可能導致部分甚至全部賬戶遭受攻擊,一旦攻擊成功,攻擊者就能執行合法的任何操作
如何防範:
使用內建的會話管理功能
通過認證的問候
使用單一的入口點
確保在一開始登入ssl保護的網頁
跨站指令碼是經常出現在web應用中的安全漏洞,其允許惡意web使用者將**植入到提供給其他使用者使用的頁面中,這些**包括html**和客戶端指令碼。黑客界公識是xss是新型的「緩衝區溢位攻擊」
危害如下:
攻擊者在受害者瀏覽器中執行指令碼以劫持使用者會話,插入惡意內容,重定向使用者,使用惡意軟體劫持使用者瀏覽器等。
種類:儲存型
,反射型
,dom型
如何防範:
驗證輸入
編碼輸出(用來確保輸入的字元被視為資料,而不是作為html被瀏覽器所解析)
乙個已經授權的使用者通過更改訪問時的乙個引數,從而訪問到原本其並沒有得到授權的物件。
危害如下:
這種漏洞可以損壞引數所引用的所有資料
如何防範:
使用基於使用者或會話的間接物件訪問,這樣可防止攻擊者直接攻擊為授權資源
訪問檢查:對任何來自不受信源所使用的所有物件進行訪問控制檢查
避免在url或網頁中直接引用內部檔名或資料庫關鍵字
驗證使用者輸入和url請求,拒絕包含./ ../的請求
跨站請求偽造,攻擊者通過使用者的瀏覽器注入額外的網路請求,破壞網路會話的完整性。瀏覽器的安全策略是允許當前介面傳送到任何位址,因此也意味著如果使用者瀏覽了自己無法控制的資源時,攻擊者可以通過控制頁面的內容來控制瀏覽器,傳送其精心構造的請求,這些精心構造的請求很難和合法的請求區分開。
危害如下:
攻擊者可以讓受害者使用者修改任何允許修改的資料,執行任何使用者允許的操作,例如修改密碼,登入登出等。
如何防範:
給每個http請求新增乙個不可**的令牌,並保證該令牌對每個使用者會話來說是唯一的。
最好的辦法就是將獨有的令牌包含在隱藏欄位中,通過http請求傳送,避免在url中暴露出來。
要求使用者重新認證或判斷他們是乙個真實的使用者。
安全配置錯誤可以發生在乙個應用程式堆疊的任何層面,包括平台,web伺服器,應用伺服器,資料庫,架構和自定義的**。攻擊者通過訪問預設賬戶,未使用的網頁,未安裝的補丁的漏洞,未被保護的檔案和目錄等,以獲得對系統為授權的訪問。
危害如下;
系統可能在未知的情況下被完全攻破,使用者資料可能隨著時間被全部盜走或篡改。甚至導致整個系統被完全破壞
如何防範:
自動化安裝部署
及時了解並部署每個環節的軟體更新和補丁資訊
實施漏洞掃瞄和安全審計
這個漏洞也是與認證相關的,這種漏洞具體是指在系統已經對url的訪問做了限制的情況下,但這種限制並沒有生效。常見的例子是系統沒有對使用者進行角色的檢查,以及使用者通過修改url的action並指向未被授權頁面就能訪問該頁面同樣是個漏洞
危害如下:
如何防範:
檢查管理許可權的過程並確保能夠容易進行公升級和審計
預設預設情況下,應該拒絕所有訪問的執行許可權。對於每個功能得訪問,需要明確的角色授權
檢查每個功能分配的許可權合理有效
在web應用中重定向是極為普通的,並且通常重定向所引發的目的是帶有使用者輸入引數的目的url,而如果這些重定向未被驗證,那麼攻擊者就可以引導使用者訪問他們想要使用者訪問的站點。
同樣,**也是極為普遍的,本質上**是在同乙個應用中對乙個新頁面傳送請求,並且有時是用引數來定義目標頁面的。同樣,如果引數未被驗證,那麼攻擊者就可以利用其來繞過認證或是授權檢查
危害如下:
攻擊者通過重定向可以試圖安裝惡意軟體或誘使受害人洩露密碼等銘感資訊,通過**可以繞過訪問限制
如何防範:
避免使用重定向和**
如果使用了,不要在確定目標時涉及到使用者引數
如果無法避免使用使用者引數,則應確保目標引數值對於當前使用者是有效的並已授權
如果是需要登入的,可以從session當中獲取登入資訊,然後判斷
元件(例如庫,框架和其他軟體模組)以與應用程式相同的許可權執行。如果利用易受攻擊的元件,這種攻擊可能會導致嚴重的資料丟失或伺服器接管。使用具有已知漏洞的元件的應用程式和api可能會破壞應用程式防禦並實現各種攻擊和破壞。
如何防範:
識別正在使用的元件和版本,包括所有的依賴
更新元件或引用的庫檔案到最新
建立安全策略來管理元件的使用
由於**編寫不嚴謹或應用固有的功能,造成**伺服器資訊被非法獲取,屬於一種低危漏洞。
OWASP TOP 10 漏洞的原理與危害
簡單來說,注入往往是應用程式缺少對輸入進行安全型檢查所引起的,攻擊者把一些包含指令的資料傳送給直譯器,直譯器會把收到的資料轉換成指令執行。常見的注入包括sql注入,os shell,ldap 輕量目錄訪問協議 xpath xpath即為xml路徑語言,它是一種用來確定xml 標準通用標記語言的子集 ...
OWASPTOP10危害及其防範措施
top1 注入 簡單來說,注入往往是應用程式缺少對輸入進行安全型檢查所引起的,攻擊者把一些包含指令的資料傳送給直譯器,直譯器會把收到的資料轉換成指令執行。常見的注入包括sql注入,os shell,ldap 輕量目錄訪問協議 xpath xpath即為xml路徑語言,它是一種用來確定xml 標準通用...
owasp top 10 SQL注入之報錯注入
什麼是報錯注入 報錯注入是一種在進行sql注入,頁面回顯資料庫報錯資訊時所進行漏洞利用的一種手法。報錯注入的函式一 floor 向下取整 函式樣式 floor num 引數意義 num 數值 報錯語句 and select 1 from select count concat 0x22,databa...