Recon

Tác giả nhận thấy rằng đa số các internal domain của Uber đều redirect đến uber.onelogin.com để thực hiện xác thực thông qua cơ chế SAML sử dụng dịch vụ của OneLogin.

SAMLRequest được gửi thông qua query param như sau:

Khi decode thì tìm được ACS URL là https://carbon-prototype.uberinternal.com:443/oidauth/saml_consume:

Tác giả cố gắng thực hiện SAML Authentication Bypass nhưng không thành công.

The Bug

Tác giả thử brute-force thư mục oidauth/ sử dụng dirsearch thì tìm thấy endpoint sau:

https://carbon-prototype.uberinternal.com:443/oidauth/logout

Khi nhấn vào link này thì nó redirect về trang sau:

https://carbon-prototype.uberinternal.com/oidauth/prompt?base=https%3A%2F%2Fcarbon-prototype.uberinternal.com%3A443%2Foidauth&return_to=%2F%3Fopenid_c%3D1542156766.5%2FSnNQg%3D%3D&splash_disabled=1

Decode:

https://carbon-prototype.uberinternal.com/oidauth/prompt?base=https://carbon-prototype.uberinternal.com:443/oidauth&return_to=/?openid_c=1542156766.5/SnNQg==&splash_disabled=1

Tác giả thay đổi giá trị của param return_to thành javascript:alert(123); thì trang web được render có đường link có thể trigger JavaScript.

Resources