邏輯漏洞與越權
越權
如果使用A用戶的權限去操作B用戶的數據,A的權限小于B的權限,如果能夠成功操作,則稱之為越權操作。 越權漏洞形成的原因是后臺使用了 不合理的權限校驗規則導致的。
一般越權漏洞容易出現在權限頁面(需要登錄的頁面)增、刪、改、查的的地方,當用戶對權限頁面內的信息進行這些操作時,后臺需要對 對當前用戶的權限進行校驗,看其是否具備操作的權限,從而給出響應,而如果校驗的規則過于簡單則容易出現越權漏洞。
水平越權
在同一級別的權限之間跨越邊界,例如向其他用戶發送私人消息、讀取其他用戶的文件等,從而繞過某些限制和防御措施
特征:id變,類型不變
pikachu靶場為例
如圖lucy只能查看個人信息
url中存在username參數
http://10.9.47.181/pikachu/vul/overpermission/op1/op1_mem.php?username=lucy&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF
將lucy改為別的用戶,實際環境中可以選擇爆破
改為lili發現可以查看lili的信息
如果出現username
id
uid
u
user類似的,皆可嘗試
垂直越權
攻擊者通過獲取比其本身權限更高的權限,例如管理員權限、根用戶權限等,從而執行敏感操作或訪問受保護的資源。
特征:id不變,類型變
使用admin新建用戶,將cookie換成pikachu的
在登錄pikachu的狀態時,訪問admin創建用戶的頁面,發現pikachu可以實現創建用戶
創建成功
越權漏洞危害
水平越權可能造成敏感信息泄露
垂直越權可能造成服務器權限丟失,普通用戶可能會執行一些上傳操作
如何挖掘:
可以在url中尋找諸如id,username,user等類似關鍵字,在登錄狀態下,可以嘗試更改這些數值,看看是否有變化,嘗試使用authz等插件功能,將cookie值修改或刪除,對比原響應報文和修改后響應報文大小及狀態碼是否一致
如何防御:
在用戶認證的時候使用多方認證,除了cookie認證,還驗證關鍵字段的值
authz
這個插件可以查找是否存在越權漏洞
pikachu水平越權為例
登錄lili,然后開啟bp代理點擊查看個人信息
看到之后關閉
找到這個包,直接發給authz
點擊run后獲得響應狀態碼
刪掉cookie看看狀態碼
前后一致則cookie可能無效,可能存在漏洞
邏輯漏洞
常見業務邏輯漏洞
身份驗證與授權:在身份驗證和授權過程中存在的漏洞可能導致未經授權的用戶獲取敏感信息或執行不當操作。例如,沒有正確實施角色和權限控制,或者在密碼重置功能中存在漏洞。
會話管理:會話管理漏洞可能使攻擊者能夠劫持用戶的會話或偽造會話令牌,從而冒充合法用戶進行未經授權的操作。
輸入驗證與過濾:缺乏對用戶輸入進行恰當驗證和過濾可能導致代碼注入、跨站腳本攻擊(XSS)等安全問題。攻擊者可以通過向應用程序輸入惡意數據來執行任意代碼或篡改網頁。
數據保護與隱私:在處理用戶敏感數據時,包括存儲、傳輸和訪問控制等環節的不安全實踐可能導致數據泄露或違反隱私規定。
錯誤處理與異常管理:不正確處理錯誤和異常情況可能導致應用程序暴露敏感信息,或者提供有用信息給潛在攻擊者。
權限提升:存在權限提升漏洞可能允許攻擊者通過利用應用程序邏輯錯誤,獲取超過其正常權限的訪問權限。
針對業務邏輯的攻擊:此類漏洞是特定于應用程序業務流程的。攻擊者可以通過不正確地操作或繞過業務邏輯來實施攻擊,例如惡意修改訂單金額、非法使用優惠券等。
重放攻擊:缺乏請求和響應的合適驗證和令牌機制可能導致攻擊者能夠重放舊的請求,重復執行某些操作。
常見利用場景
濫用優惠券:攻擊者可以通過篡改應用程序中的優惠券邏輯來獲取大量優惠券或重復使用同一張優惠券,從而獲得不當的經濟利益。
篡改訂單金額:攻擊者可以修改應用程序中的訂單金額驗證邏輯,以支付更低的金額從而獲取不當的價格優惠。
超越授權范圍:攻擊者可能利用應用程序中的邏輯缺陷,繞過角色和權限控制,從而獲得比其正常權限更高的訪問權限。
繞過支付驗證:攻擊者可能利用應用程序中的漏洞繞過支付驗證流程,使其能夠以未經付款的方式獲得商品或服務。
假冒身份:攻擊者可能通過修改身份驗證流程來偽造身份,冒充合法用戶進行未經授權的操作。
篡改數據:攻擊者可能修改應用程序中的數據驗證邏輯,以修改關鍵數據(如賬戶余額、庫存數量等),從而獲得不當的利益。
會話劫持:攻擊者可能利用會話管理漏洞劫持合法用戶的會話,獲得其敏感信息或冒充其進行操作。
數據泄露:通過利用應用程序中的漏洞,攻擊者可以獲取存儲在應用程序中的敏感用戶數據,如個人身份信息、支付信息等。