10大最重要的Web安全風險之四--A4-不安全的直接對象引用

OWASP TOP10

A1-注入    php

A2-跨站腳本(XSS)   安全

A3-錯誤的認證和會話管理  app

A4-不安全的直接對象引用   加密

A5-僞造跨站請求(CSRF)     -- Cross-Site Request Forgery spa

A7-限制遠程訪問失敗  對象

A8-未驗證的重定向和傳遞  get

A9-不安全的加密存儲    it

A10-不足的傳輸層保護 test


所謂「不安全的對象直接引用」,即Insecure direct object references,意指一個已經受權的用戶,經過更改訪問時的一個參數,從而訪問到了本來其並無獲得受權的對象。Web應用每每在生成Web頁面時會用它的真實名字,且並不會對全部的目標對象訪問時來檢查用戶權限,因此這就形成了不安全的對象直接引用的漏洞。 object

咱們看以下的一個示例,也許這樣就更容易理解什麼是不安全的對象直接引用。

1.      攻擊者發現他本身的參數是6065,即?acct=6065;

2.      他能夠直接更改參數爲6066,即?acct=6066;

3.      這樣他就能夠直接看到6066用戶的帳戶信息了。


通常來講,防止不安全的直接對象引用的方法有如下兩種:

1.      使用非直接的對象引用——這防止了攻擊者直接訪問其並未受權的對象,經過一種mapping或是其餘的方法讓攻擊者沒法直接訪問。

2.      檢查訪問——對每個來自於不信任的源的直接對象引用都必須包含訪問控制檢查,從而確信該用戶對該對象擁有訪問權。

相關文章
相關標籤/搜索