Friday, July 31, 2009

MoTB #30: TweetDeck Insecure Communication Vulnerability

What is TweetDeck
"TweetDeck is your personal browser for staying in touch with what’s happening now, connecting you with your contacts across Twitter, Facebook and more. TweetDeck shows you everything you want to see at once, so you can stay organised and up to date." (TweetDeck about page)


Twitter effect
TweetDeck can be used to send tweets, direct messages and follow/unfollow other Twitter users from multiple Twitter accounts.
TweetDeck is using Username/Password authentication in order to utilize the Twitter API.


Popularity rate
The most popular Twitter clients. 2nd place in the most used twitter clients, with 25.6% usage in the past week - 5 twits


Vulnerability: Insecure communication vulnerability when displaying videos.
Status: Unpatched.
Details: TweetDeck does not use a secure communication when it displays videos inline (e.g. using Qik). An attacker who controls the victim's network (e.g. via public WiFi, compromised DNS servers, etc.) can tamper with the request to the video website and replace it with a rogue content (e.g. display a fake malicious update request).
This vulnerability can be used by an attacker to install malware on its victims machines.
Screenshot:



Vendor response rate
The vendor has confirmed this as a vulnerability. They are working with their partners (Qik and 12seconds) in order to replace the current HTTP connection with HTTPS. While the vendor have yet to fix the vulnerability, they were very responsive and have promised to release a patch as soon as their partners will implement SSL on their websites. Almost Good - 3.5 twits.

Wednesday, July 29, 2009

MoTB #29: Reflected XSS in chart.ly

What is chart.ly
"Share stock charts on Twitter" (chart.ly home page)


Twitter effect
chart.ly can be used to send tweets and follow other twitter users.
chart.ly is using OAuth authentication method in order to utilize the Twitter API.


Popularity rate
A not so popular alternative to StockTwits - 1 twit


Vulnerability: Reflected Cross-Site in the Search page.
Status: Unpatched.
Details: The chart.ly search page does not encode HTML entities in the "q" variable, which can allow the injection of scripts.
This vulnerability can used by an attacker to send tweets on behalf of its victims.
Proof-of-Concept: http://chart.ly/search?q=%3Cscript%3Ealert(%22xss%22)%3C/script%3E


Vendor response rate
The vendor did not respond to any of the emails I sent during the past week - 0 twits.

MoTB #28: Reflected XSS vulnerability in tweetburner

What is tweetburner
"Tracking the links that you share on Twitter" (tweetburner home page)


Twitter effect
tweetburner can be used to send tweets with the shortened URLs through a form on their website.
tweetburner is using Username/Password authentication in order to utilize the Twitter API.


Popularity rate
Yet another Twitter shortening service. Not as popular as others in this market - 2 twits


Vulnerability: Reflected Cross-Site in the shortened URL creation page.
Status: Unpatched.
Details: The tweetburner shortened URL creation page does not encode HTML entities in the "url" variable, which can allow the injection of scripts.
This vulnerability can be used by an attacker to send tweets on behalf of its victims.
Proof-of-Concept: http://tweetburner.com/links/create?url=%3Cscript%3Ealert(%22xss%22)%3C/script%3E
Screenshot:



Vendor response rate
The vendor did not respond to any of the emails I sent during the past week - 0 twits.

Monday, July 27, 2009

MoTB #27: Reflected XSS in Posterous

What is Posterous
"We love sharing thoughts, photos, audio, and files with our friends and family, but we didn't like how hard it was... so we made a better way. That's posterous. " (Posterous about page)


Twitter effect
Posterous can be used to send tweets by sending posts via email, or posting comments on existing posts.
Posterous is using OAuth authentication method in order to utilize the Twitter API.


Popularity rate
25th place in the most used twitter clients list, accordint to "TwitStat" - 3.5 twits



Vulnerability: Reflected Cross-Site in the Search page.
Status: Patched.
Details: The Posterous search page did not encode HTML entities in the "search" variable, which could have allowed the injection of scripts.
This vulnerability could have been used by an attacker to send tweets on behalf of its victims.
Proof-of-Concepts: http://avivra.posterous.com/?sort=bestmatch&search=testing%22%3E%3Cscript%3Ealert%28%22xss%22%29%3B%3C%2Fscript%3E
http://posterous.com/explore/?search=xxx%22%3E%3Cscript%3Ealert%28%2Fxss%2F%29%3B%3C%2Fscript%3E
Screenshots:




Vendor response rate
The vulnerability was fixed 12 hours after it has been reported. Excellent - 5 twits.

Sunday, July 26, 2009

MoTB #26: Reflected XSS in Tweeple Pages

What is Tweeple Pages
"Tweeple Pages is a user powered directory of Twitter users organized by their interests. Simply allow the Tweeple Pages application access and you can start discovering other users with similar interests as you!" (Tweeple Pages about page)


Twitter effect
Tweeple Pages can be used to follow and unfollow other twitter users.TweeTube is using OAuth authentication method in order to utilize the Twitter API.


Popularity rate
Not a very popular alternative to twellow, wefollow, and other Twitter categorization services - 0.5 twits



Vulnerability: Reflected Cross-Site in the Search page.
Status: Unpatched.
Details: The Tweeple Pages search page does not encode HTML entities in the "q" variable, which can allow the injection of scripts.
This vulnerability can be used by an attacker to send tweets on behalf of its victims.
Proof-of-Concept: http://tweeplepages.com/search.php?q=%3Cscript%3Ealert(%22xss%22)%3C/script%3E
Screenshot:



Vendor response rate
The vendor did not respond to any of the emails I sent during the past week - 0 twits.

Saturday, July 25, 2009

MoTB #25: CSRF+XSS vulnerabilities in TwitStat

What is TwitStat
TwitStat provides a mobile web interface for Twitter.


Twitter effect
TwitStat can be used to send tweets, direct messages and follow/unfollow other Twitter users.
TwitStat is using Username/Password authentication in order to utilize the Twitter API.


Popularity rate
30th place in the most used twitter clients list, according to “TwitStat” - 3 twits


Vulnerabilities:
1) Cross-Site Request Forgery in main update page
Status: Patched.
Details: The TwitStat index.php web page did not use authenticity code in order to validate that the HTTP post is coming from the TwitStat web application.
This vulnerability could have been used by an attacker to send tweets on behalf of its victims.

2) Reflected POST Cross-Site in the Search page.
Status: Patched.
Details: The TwitStat search page did not encode HTML entities in the "terms" form field, which could have allowed the injection of scripts.
This vulnerability could have been used by an attacker to automatically send tweets, direct messages or follow/unfollow other twitter users on behalf of the victims.
Proof-of-Concept: http://www.twitstat.com/m/index.php?mode=search&terms=xxx%22%3E%3Cscript%3Ealert%28%22xss%22%29%3C%2Fscript%3E
Screenshot:



Vendor response rate
The vulnerabilities were fixed 5 days after they have been reported. Moderate - 3 twits.

MoTB #24: Reflected XSS in TweeTube

What is TweeTube
"TweeTube was started in January 2009 after identifying a need for an easy way to share YouTube videos among your Twitter followers. We since grew to allow users to share different stuff like pictures, webcam recordings, website urls and much more to come." (TweeTube about page)


Twitter effect
TweeTube can be used to send tweets by uploading new videos/photos, sending them via email, or posting comments on existing videos/photos.
TweeTube is using Username/Password authentication in order to utilize the Twitter API.


Popularity rate
Not a very popular alternative to yfrog, twitpic and other Video or Photo sharing services - 0.5 twits



Vulnerability: Reflected Cross-Site in the Search page.
Status: Unpatched.
Details: The TweeTube search page does not encode HTML entities in the "q" variable, which can allow the injection of scripts.
This vulnerability can be used by an attacker to send tweets on behalf of its victims.
Proof-of-Concept: http://www.tweetube.com/search?q=%3Cscript%3Ealert(%22xss%22)%3C/script%3E
Screenshot:



Vendor response rate
The vendor did not respond to any of the emails I sent during the past week - 0 twits.

Thursday, July 23, 2009

MoTB #23: TwitterCounter/TwitterRemote Reflected XSS vulnerabilities

What is TwitterCounter
"Just as TwitterCounter could be described as Feedburner for Twitter you could say that TwitterRemote is like MyBlogLog for Twitter. " (TwitterCounter about page)


Twitter effect
TwitterCounter can be used to send new tweets and reply to other Twitter users.
TwitterCounter is using OAuth authentication method in order to utilize the Twitter API.


Popularity rate
Over 830,000 unique visitors per month (According to Compete) - 4 twits



1) Vulnerability: Reflected Cross-Site Scripting in the Country page.
Status: Unpatched.
Details: The TwitterCounter country page does not encode HTML entities in the "timezone" variable, which can allow the injection of scripts.
The vulnerability was also submitted, and publicly disclosed by d3v1l.
This vulnerability can be used by an attacker to send tweets on behalf of its victims.
Proof-of-Concept: http://twittercounter.com/pages/country?time_zone=XXX%22%3E%3Cscript%3Ealert%28%22XSS%22%29%3C%2Fscript%3E


2) Vulnerability: Reflected Cross-Site Scripting in the iframe.php page.
Status: Unpatched.
Details: The TwitterRemote iframe.php page does not encode HTML entities in the query variables, which can allow the injection of scripts.
This vulnerability can be used by an attacker to send tweets on behalf of its victims.
Proof-of-Concept: http://twittercounter.com/remote/iframe.php?username_owner=xxx&users_id=3351429&nr_show=6&hr_color=cccccc&a_color=709cb2&bg_color=;color:expression(alert('xss'))
Screenshot:



Vendor response rate
The vendor did not respond to any of the emails I sent during the past week - 0 twits.

Wednesday, July 22, 2009

MoTB #22: CSRF in StockTwits

What is StockTwits
"StockTwits is an open, community-powered idea and information service for investments. Users can eavesdrop on traders and investors, or contribute to the conversation and build their reputation as savvy market wizards. The service takes financial related data - using Twitter as the content production platform - and structures it by stock, user, reputation, etc." (StockTwits about page)


Twitter affect
StockTwits can be used to send tweets and follow other Twitter users.
StockTwits is using OAuth authentication method in order to utilize the Twitter API.


Popularity rate
82nd place according to "The Museum of Modern Betas". - 2 twit



Vulnerability: Cross-Site Request Forgery in the update JSON page.
Status: Patched.
Details: The StockTwits update JSON page did not use authenticity code in order to validate that the HTTP post is coming from the StockTwits web application.
Screenshots:




Vendor response rate
The vulnerability was fully fixed 22 hours after it has been reported. Excellent - 5 twits.

Tuesday, July 21, 2009

MoTB #21: Multiple vulnerabilities in Ping.fm

What is Ping.fm
"Ping.fm is a simple and FREE service that makes updating your social networks a snap!" (Ping.fm home page)


Twitter affect
Ping.fm can be used to send tweets by sending them via their website, email, or SMS.
Ping.fm is using Username/Password authentication in order to utilize the Twitter API.


Popularity rate
8th place in the most used twitter clients - 4.5 twits



Vulnerabilities
1) Cross-Site Request Forgery in the SMS Phone No. Settings page.
Status: Patched.
Details: Ping.fm SMS phone number settings page did not use authenticity code in order to validate that the HTTP request POST is coming from the Ping.fm web application.
This could have been used by an attacker to send tweets on behalf of its victims, by simply sending an SMS to Ping.fm.

2) Reflected Cross-Site Scripting in the "Ping This!" page.
Status: Patched.
Details: The Ping.fm "Ping This!" page did not encode HTML entities in the "link" variable, which could have allowed the injection of scripts.
This vulnerability could have been used by an attacker to send tweets on behalf of its victims.
Proof-of-Concept: http://ping.fm/ref/?link=xxx%22+style="color:expression(document.body.onload=function(){alert('XSS')})
Screenshot:



Vendor response rate
The vulnerabilitles were fixed several hours after they have been reported. Excellent - 5 twits.

Monday, July 20, 2009

MoTB #20: Insecure communication vulnerability in twhirl

What is twhirl
"twhirl is a desktop client for the Twitter microblogging service. Most of the features available on the Twitter website are accessible through twhirl, too." (twhirl about page)


Twitter effect
twhirl can be used to send tweets, direct messages and follow/unfollow other Twitter users from multiple Twitter accounts.
twhirl is using Username/Password authentication in order to utilize the Twitter API.


Popularity rate
One of the most popular Twitter clients. 7th place in the most used twitter clients - 4.5 twits


Vulnerability: Insecure communication vulnerability in the update proccess.
Status: Unpatched.
Details: twhirl does not use a secure communication when it checks for updates. An attacker who controls the victim's network (e.g. via public WiFi, compromised DNS servers, etc.) can tamper with the request to http://www.twhirl.org/version.xml, and replace the values of both "version" and "installerURL" XML entities, in order to force a display of fake (malicious) update.
This vulnerability can be used by an attacker to install malware on its victims machines.
Screenshot:



Vendor response rate
The vendor (Seesmic) have decided not to confirm this as a vulnerability. Seesmic claims that they "do not believe this exploit is possible due to the way Adobe AIR binaries are signed at compilation time with private keys to create both an ApplicationID and a PublisherID". While this might be true, an attacker can:
1) Direct the user to automatically install old signed version of twhirl, and then exploit other vulnerabilities that were patched by newer versions.
2) Use an unsigned binary, which might cause the automatic download to fail. In this case, the user will follow twhirl's request (See above screenshot) and manually download and run the malicious executable.
Instead of applying a one character fix to this vulnerability (by simply adding an "s" to the HTTP request), Seesmic have decided to ignore my continuous requests to fix this vulnerability. Very poor - 0.5 twits.

Sunday, July 19, 2009

MoTB #19: CSRF+XSS vulnerabilities in Talker

What is Talker
Talker is a Hebrew theme for Israeli twitter users (Talker home page)


Twitter effect
Talker can be used to send tweets, direct messages and follow/unfollow other Twitter users.
Talker is using OAuth authentication method in order to utilize the Twitter API.


Popularity rate
Even though it's operated by one of the biggest Israeli portals and TV channel (Nana10), it has only several thousands users - 1 twit


Vulnerabilities:
1) Cross-Site Request Forgery in the update forms
Status: Patched.
Details: Talker update forms did not use authenticity code in order to validate that the HTTP requests are coming from the Talker web application.
This vulnerability could have been used by an attacker to send tweets on behalf of its victims.

2) Reflected POST Cross-Site in the Subject page.
Status: Patched.
Details: Talker subject page did not encode HTML entities of the subject query string, which could have allowed the injection of scripts.
This vulnerability could have been used by an attacker to automatically send tweets, direct messages or follow/unfollow other twitter users on behalf of the victims.
Screenshot:



Vendor response rate
The vulnerabilities were fixed 4 days after they have been reported to the vendor. Moderate - 3 twits.

Saturday, July 18, 2009

MoTB #18: Persistent XSS vulnerability in tr.im

What is tr.im
"tr.im is an established URL shortening service that prepares great-looking short URLs for services like Twitter. If you send URLs out on Twitter, tr.im is not only the best name, it is one of the shortest." (tr.im about page)


Twitter effect
tr.im can be used to send tweets with the shortened URLs through a form on their website.
tr.im is using OAuth authentication method in order to utilize the Twitter API.


Popularity rate
Yet another Twitter shortening service. Not as popular as others in this market - 2 twits


Vulnerability: Persistent Cross-Site in tr.im Referrer statistics page.
Status: Unpatched.
Details: tr.im does not encode HTML entities of the referrer URLs
which can be easily manipulated by attackers, and can allow the injection of scripts.
This vulnerability can be used by an attacker to send tweets on behalf of its victims.
This vulnerability was submitted by Mike Bailey.
Screenshot:



Vendor response rate
The vendor did not respond to any of the emails I sent during the past week - 0 twits.

Friday, July 17, 2009

MoTB #17: Persistent XSS vulnerability in mobypicture

What is mobypicture
"Directly share your photos, text, audio and videos with all your friends on your favorite social sites: facebook, twitter, flickr, vimeo, and more!" (mobypicture home page)


Twitter effect
mobypicture can be used to send tweets by uploading new photos, or posting comments on existing photos.
mobypicture is using Username/Password authentication in order to utilize the Twitter API.


Popularity rate
Yet another Twitter photo sharing service. 27th place in the most used twitter clients, according to “TwitStats” - 3 twits


Vulnerability: Persistent Cross-Site in mobypicture picture view page.
Status: Patched.
Details: mobypicture did not encode HTML entities of the uploaded picture details (title, description, etc.), which could have allowed the injection of scripts.
This vulnerability could have allowed an attacker to send tweets on behalf of its victims.
Screenshot:



Vendor response rate
The vulnerability was fixed 2 hours after it has been reported. Excellent - 5 twits.

Thursday, July 16, 2009

MoTB #16: HelloTxt Persistent XSS

What is HelloTxt
"HelloTxt lets you update your status and read your friends' status across all main microblogging and social networks all at once." (HelloTxt about page)


Twitter effect
HelloTxt can be used to send tweets to other Twitter users.
HelloTxt is using Username/Password authentication in order to utilize the Twitter API.


Popularity rate
16th place in the Top 100 Twitter services of The Museum of Modern Betas Labs - 4 twits



Vulnerability: Persistent Cross-Site in HelloTxt profile page.
Status: Patched.
Details: HelloTxt did not encode HTML entities in the username information updated by the user, which could have allowed the injection of scripts.
This vulnerability could have allowed an attacker to send tweets on behalf of its victims.
Screenshot:



Vendor response rate
The vulnerability was fixed 3 days after it has been reported. Moderate - 3 twits.

MoTB Halftime Statistics Report

I've decided to gather and publish some statistics for the first 15 days of "Month of Twitter Bugs".
There were 35 vulnerabilities disclosed for 15 different Twitter 3rd-party services.
12 of the 35 vulnerabilities were 0days (11 of them disclosed in the blog comments), which means there was no patch available at the time they were disclosed.
7 of those 0day vulnerabilities are still unpatched!
The average fix time for a vendor (not including bit.ly) is 18 hours.
The following pie chart shows the types of vulnerabilities found in MoTB.



As a bonus for the "Halftime statistics report", I would like to present a bug that was submitted by Laurent Gaffie: Twitter Search Web Server Information Leakage.
The Twitter search server did not block access to the ".htaccess" file, which revealed the configuration of the Twitter search web server, including a block list of IPs (spammers?).
Status: Fixed.
Screenshot:



While this bug is nothing compared to the recent Twitter servers/employees hack disclosure, it still shows that Twitter needs to hire a security engineer, and fast!

Wednesday, July 15, 2009

MoTB #15: CSRF+XSS vulnerabilities in Slandr

What is Slandr
"Slandr delivers an enhanced mobile site for twitter, with: replies, direct messaging, etc.." (Slandr about page)


Twitter effect
Slandr can be used to send tweets, direct messages and follow/unfollow other Twitter users.
Slandr is using Username/Password authentication in order to utilize the Twitter API.


Popularity rate
27th place in the most used twitter clients, according to “TwitStats” - 3 twits


Vulnerabilities:
1) Cross-Site Request Forgery in main update page
Status: Patched.
Details: The Slandr index.php web page did not use authenticity code in order to validate that the HTTP post is coming from the Slandr web application.
This vulnerability could have been used by an attacker to send tweets on behalf of its victims.

2) Reflected POST Cross-Site in the Search page.
Status: Patched.
Details: The Slandr search page did not encode HTML entities in the "search" form field, which could have allowed the injection of scripts.
This vulnerability could have been used by an attacker to automatically send tweets, direct messages or follow/unfollow other twitter users on behalf of the victims.
Proof-of-Concept: http://tweetmeme.com/search.php?for=%3C/title%3E%3Cscript%3Ealert(%22xss%22);%3C/script%3E%3Ctitle%3E
Screenshot:



Vendor response rate
The vendor have published a blog post about these vulnerabilities.
The vulnerabilities were fixed 2 days after they have been reported. Good - 4 twits.

Tuesday, July 14, 2009

MoTB #14: Reflected XSS in TweetMeme

What is TweetMeme
"TweetMeme is a service which aggregates all the popular links on twitter to determine which links are popular. TweetMeme is able to categorize these links into categories and subcategories, making it easy to filter out the noise to find what your interested in." (TweetMeme about page)


Twitter effect
TweetMeme can be used to send new tweets and reply to other Twitter users.
TweetMeme is using OAuth authentication method in order to utilize the Twitter API.


Popularity rate
6.5 Million unique visitors per month (According to Compete) - 4.5 twits



Vulnerability: Reflected Cross-Site in the Search page.
Status: Patched.
Details: The TweetMeme search page did not encode HTML entities in the "for" variable, which could have allowed the injection of scripts.
The vulnerability was also submitted, and publicly disclosed by d3v1l.
This vulnerability could have been used by an attacker to send tweets on behalf of its victims.
Proof-of-Concept: http://tweetmeme.com/search.php?for=%3C/title%3E%3Cscript%3Ealert(%22xss%22);%3C/script%3E%3Ctitle%3E
Screenshot:



Vendor response rate
Vulnerability was fixed 2 hours after it has been reported. Excellent - 5 twits.

Monday, July 13, 2009

MoTB #13: Reflected XSS in Brightkite

What is Brightkite
"Brightkite is a location-based social network. In real time you can see where your friends are and what they're up to. Depending on your privacy settings you can also meet others nearby." (Brightkite home page)


Twitter effect
Brightkite can be used to send new tweets and reply to other Twitter users.
Brightkite is using Username/Password authentication in order to utilize the Twitter API.


Popularity rate
16th place in the most used twitter clients, according to “TwitStats” - 4 twits



Vulnerability: Reflected Cross-Site in the "Person not found" page.
Status: Patched.
Details: The Brightkite "Person not found" page did not encode HTML entities in the people query variable, which could have allowed the injection of scripts.
This vulnerability could have been used by an attacker to send tweets on behalf of its victims.
Proof-of-Concept: http://brightkite.com/people/zxxx%22%3E%3Cbody%20onload=%22alert(%27xss%27)%22%3E
Screenshot:



Vendor response rate
Vulnerability was fixed 1 hour after it has been reported. Excellent - 5 twits.

Sunday, July 12, 2009

MoTB #12: Reflected XSS in TweetGrid

What is TweetGrid
"TweetGrid is a powerful Twitter Search Dashboard that allows you to search for up to 9 different topics, events, converstations, hashtags, phrases, people, groups, etc in real-time. As new tweets are created, they are automatically updated in the grid. No need to refresh the page!" (TweetGrid FAQ page)


Twitter effect
TweetGrid can be used to send new tweets and reply to other Twitter users.
TweetGrid is using Username/Password authentication in order to utilize the Twitter API.


Popularity rate
28th place in the Top 100 Twitter Services, according to “The Museum of Modern Betas” - 3.5 twits



Vulnerability: Reflected Cross-Site in the Search page.
Status: Patched.
Details: The TweetGrid search page did not encode HTML entities in the "q" variable, which could have allowed the injection of scripts.
This vulnerability could have been used by an attacker to send tweets on behalf of its victims.
Proof-of-Concept: http://tweetgrid.com/search?q=xxx%3C%2Ftitle%3E%3Cscript%3Ealert%28%2Fxss%2F%29%3C%2Fscript%3E
Screenshot:



Vendor response rate
Vulnerability was fixed 1 hour after it has been reported. Excellent - 5 twits.

Saturday, July 11, 2009

MoTB #11: Twitturly Persistent XSS

What is Twitturly
"Twitturly tracks the URLs flying around the Twitterverse and provides a quick, real-time view of what people are talking about on Twitter." (Twitturly about page)


Twitter effect
Twitturly can be used to send tweets to other Twitter users.
Twitturly is using Username/Password authentication in order to utilize the Twitter API.


Popularity rate
19th place in the Top 100 Twitter services of The Museum of Modern Betas Labs - 4 twits



Vulnerability: Persistent Cross-Site in Twitturly URLs view page.
Status: Patched.
Details: Twitturly did not encode HTML entities in the un-shortened URLs it displays, which could have allowed the injection of scripts.
This vulnerability could have allowed an attacker to send tweets on behalf of its victims.
Screenshot:



Vendor response rate
The vulnerability was fixed 2 hours after it has been reported. Excellent - 5 twits.

Friday, July 10, 2009

MoTB #10: CSRF+XSS vulnerabilities in Twitiq

What is Twitiq
"TwitIQ is an enhanced Twitter interface that provides insight into your Twitter stream and Twitter followers." (Twitiq home page)


Twitter effect
Twitiq can be used to send tweets, direct messages and follow/unfollow other Twitter users.
Twitiq is using Username/Password authentication in order to utilize the Twitter API.


Popularity rate
A new 3rd party service, which already gained 5K unique visitors per month (according to Compete)- 1 twit


Vulnerability: Cross-Site Request Forgery and Cross-Site Scripting in jsonp.php.
Status: Patched.
Details: The Twitiq jsonp.php web page did not use authenticity code in order to validate that the HTTP post is coming from the Twitiq web application. Also, the jsonp.php did not encode HTML entities in the "jcb" variable.
Both vulnerabilities could have been used by an attacker to automatically send tweets, direct messages or follow/unfollow other twitter users on behalf of it's victims.
Proof of Concept: http://www.twitiq.com/jsonp.php?jcb=%3Cscript%3Ealert("xss")%3C%2Fscript%3E&action_jsonp=new_status&status=CSRF
Screenshots:



Vendor response rate
The vulnerabilities were fixed within 1 hour after they have been reported. Excellent - 5 twits.

Labels: , , ,

Thursday, July 9, 2009

MoTB #09: Reflected POST XSS vulnerability in Twellow

What is Twellow
"From our home at Twellow headquarters, we're actively searching and categorizing millions of inter-personal exchanges available on the internet every day. Twellow.com is thereby able to assist you in finding real people who really matter. We're doing the hard work of sifting out people who can help bring your vision to reality, whatever that vision might be." (Twellow about page)


Twitter effect
Twellow can be used to follow and unfollow other twitter users.
Twellow is using Username/Password authentication in order to utilize the Twitter API.


Popularity rate
Indexing 6.2 million Twitter profiles, with over 175K unique visitors per month (according to Compete) - 4 twits



Vulnerability: Reflected POST Cross-Site Scripting in the Contact page.
Status: Patched.
Details: Twellow does not encode HTML entities in the form fields of the Contact page, which can allow the injection of scripts by submitting a rouge HTML form to the page.
This vulnerability could have allowed an attacker to automatically follow or unfollow other twitter users on behalf of its victims.
Screenshots:



Vendor response rate
The vulnerabilities were fixed 1 day after they were reported, although it took them 4 days to response to the initial email. Good - 4 twits.

Wednesday, July 8, 2009

MoTB #08: DOM Based XSS in Twitterfall

What is Twitterfall
"Twitterfall is a way of viewing the latest 'tweets' of upcoming trends and custom searches on the micro-blogging site Twitter. Updates fall from the top of the page in near-realtime.." (Twitterfall home page)


Twitter affect
Twitterfall can be used to send tweets, replies or follow other twitter users.
Twitterfall is using OAuth authentication method in order to utilize the Twitter API.


Popularity rate
22nd place according to "The Museum of Modern Betas". 18th place according to compete - 3.5 twits



Vulnerability: DOM Based Cross-Site Scripting in the main page.
Status: Patched.
Details: The Twitterfall main page did not encode HTML entities in the "trend" variable before evaluating it in JavaScript. This could allow the injection of scripts, which could have been used by an attacker to send tweets on behalf of its victims. The older site of Twitterfall (old.twitterfall.com) was also vulnerable to the same issue.
Proof-of-Concepts:
http://www.twitterfall.com/?trend=%3Cimg/src%3D"."/onerror%3D"alert('xss')"%3E
http://old.twitterfall.com/?trend=%3Cscript%3Ealert("XSS")=%3C/script%3E
Screenshots:




Vendor response rate
The vulnerabilities were fixed 3 hours after they were reported. Excellent - 5 twits.

Labels: , ,

Tuesday, July 7, 2009

MoTB #07: Reflected XSS vulns in yfrog

What is yfrog
"yfrog is a service run by ImageShack that lets you share your photos on and videos on Twitter." (yfrog FAQ page)


Twitter affect
yfrog can be used to send tweets by uploading new photos, or posting comments on existing photos.
yfrog is using OAuth authentication method in order to utilize the Twitter API.


Popularity rate
A competitor to TwitPic in the Twitter photo sharing market. Owned and operated by the popular ImageShack photo sharing service provider - 4 twits



Vulnerability: Reflected Cross-Site Scripting in the Upload and Search pages.
Status: Patched.
Details: The yfrog picture upload page does not encode HTML entities in the "url" variable, which can allow the injection of scripts. Similar vulnerability exists in the "s" variable of the yfrog Search page.
This vulnerability could have allowed an attacker to send tweets on behalf of its victims.
Proof-of-Concepts:
http://yfrog.com/?url=xxx">%3Cscript%3Ealert%28"xss"%29%3C%2Fscript%3E
http://yfrog.com/search.php?s=%3Cscript%3Ealert%28/xss/%29%3C%2Fscript%3E
Screenshots:




Vendor response rate
The vulnerabilities were fixed 3 hours after they were reported. Excellent - 5 twits.

Labels: , ,

Monday, July 6, 2009

MoTB #06: Multiple vulnerabilities in TwitPic

What is TwitPic
"TwitPic lets you share photos on Twitter." (TwitPic home page)


Twitter affect
TwitPic can be used to send tweets by uploading new photos, sending them via email, or posting comments on existing photos.
TwitPic is using Username/Password authentication in order to utilize the Twitter API.


Popularity rate
Most popular Twitter photo sharing service. Most visited Twitter 3rd party website, according to Compete - 5 twits



Vulnerabilities
1) Cross-Site Request Forgery in the Email PIN Settings page.
Status: Patched.
Details: This vulnerability was reported by dblackshell. See dblackshell's advisory for more details: http://insanesecurity.info/blog/twitpic-modern-twitter-backdoor

Few days before "Month of Twitter Bugs" has started, attackers found Britney Spears' TwitPic email PIN number by using a brute force attack (which was also fixed by TwitPic).
Instead, they could have easily used this CSRF vulnerability in order to tweet the fake death announcement.


2) Cross-Site Request Forgery in the comments form.
Status: Patched
Details: The comments form on each TwitPic picture web page did not use authenticity code in order to validate that the HTTP request POST is coming from the TwitPic web application.
This could have been used by an attacker to send comments on behalf of its victims, which could have also tweet the comments in Twitter.


3) Persistent Cross-Site Scripting in the TwitPic profile page.
Status: Patched.
Details: This vulnerability was first reported to TwitPic on May 18th 2009, and posted on my blog.
TwitPic did not encode HTML entities in the information it imported from the Twitter profile, and displayed in the TwitPic profile.
Screenshot:



Vendor response rate
It took TwitPic only an hour to fix the vulnerabilities. Excellent - 5 twits.



In conclusion
TwitPic has a large user base, and I'm happy that they are taking security very seriously. They also take the blame when needed. I'll keep using TwitPic as my main Twitter photo sharing service.

Saturday, July 4, 2009

MoTB #04: CSRF in BigTweet

What is BigTweet
"BigTweet was developed by Scott Carter (@scott_carter) as a way to interact more effectively with various networks from the Web. When you click on the BigTweet bookmarklet, a window appears in the middle of your current web page. Use it to post to Twitter or FriendFeed and then return to what you were doing. It doesn't get any faster." (BigTweet home page)


Twitter affect
BigTweet can be used to send tweets from any web page by using a bookmarklet.
BigTweet is using Username/Password authentication in order to utilize the Twitter API.


Popularity rate
While Bigtweet is not on any of the top Twitter services lists, it has an easy to integrate bookmarklet interface - 1 twit


Vulnerability: Cross-Site Request Forgery in BigTweet upate.json.
Status: Patched.
Details: The bigtweet update.json web page did not use authenticity code in order to validate that the HTTP post is coming from the bigtweet web application.
Screenshots:



Note: While the proof-of-concept in the screenshots used the "xxx" twitter user, the page will actually send a tweet for the currently logged-in user (in the PoC - @avivra). Any bigtweet.com registered user could have been used instead of xxx.


Vendor response rate
Vulnerability was fully fixed 22 hours after it has been reported.
Scott Carter, the developer of BigTweet, is also the one who came up with the idea of having a security best practices document for API developers. Alex Payne from Twitter has written such document last week. Excellent - 5 twits.

Labels: , ,

Thursday, July 2, 2009

MoTB #03: TwitWall Persistent XSS

What is TwitWall
"TwitWall is the easy-to-use, quick-to-blast-out, instant blog companion for Twitter. With TwitWall, you can embed your favorite videos and widgets, upload your photos, mp3 music or podcasts, - you name it.." (TwitWall home page)


Twitter affect
TwitWall can be used to send tweets and follow/unfollow other Twitter users.
TwitWall is using OAuth authentication token in order to utilize the Twitter API.


Popularity rate
Though it's here since Summer 2008, it has yet to gain enough user base to get into any of the top twitter services lists - 0.5 twits


Vulnerability: Persistent Cross-Site in TwitWall entry view page.
Status: Patched.
Details: TwitWall allows HTML to be embedded in the wall entries. According to the vendor this was done because "our users with non-malicious intentions enjoy using our html editor". Unfortunately, the entry view page does not santize scripts and events that came along with the HTML.
This vulnerability could have allowed an attacker to send tweets, follow/unfollow others on behalf of its victims.
Screenshots:




Vendor response rate
Vulnerability was fully fixed 20 hours after it has been reported. Excellent - 5 twits.

Labels: , ,

MoTB #02: Reflected XSS in HootSuite

What is HootSuite
"HootSuite is the ultimate Twitter toolbox. With HootSuite, you can manage multiple Twitter profiles, add multiple editors, pre-schedule tweets, and measure your success. HootSuite lets you manage your entire Twitter experience from one easy-to-use interface." (HootSuite about page)


Twitter affect
HootSuite can be used to send tweets, direct messages and follow/unfollow other Twitter users from multiple Twitter accounts.
HootSuite is using Username/Password authentication in order to utilize the Twitter API.


Popularity rate
27th place in the Top 100 Twitter Services, according to “The Museum of Modern Betas” - 3.5 twits


Vulnerability: Reflected Cross-Site in the “add-acount” page.
Status: Patched.
Details: The HootSuite "add-account" page does not encode HTML entities in the "pageMode"
variable, which can allow the injection of scripts.
This vulnerability could allowed an attacker to send tweets, direct messages and to follow/unfollow others on behalf of its victims.
Proof-of-Concept: http://hootsuite.com/twitter/add-account?height=240&width=280&modal=true&pageMode=xxx%22%3E%3Cscript%3Ealert(%22xss%22)%3C/script%3E
Screenshot:



Vendor response rate
Vulnerability was fixed two hours after it has been reported. Excellent - 5 twits.

Labels: , ,

Wednesday, July 1, 2009

MoTB #01: Multiple vulnerabilities in bit.ly service

What is bit.ly
"bit.ly allows users to shorten, share, and track links (URLs). Reducing the URL length makes sharing easier. bit.ly can be accessed through our website, bookmarklets and a robust and open API. bit.ly is also integrated into several popular third-party tools such as Tweetdeck." (bit.ly about page)


Twitter affect
bit.ly can be used to send tweets with the shortened URLs through a form on their website, or a simple GET request.
bit.ly is using the OAuth authentication tokens in order to send tweets via the Twitter API.


Popularity rate
Second most popular URL shortening service in the wild - 4.5 twits



Vulnerabilities
1) Reflected Cross-Site Scripting in the “url” query parameter.
Status: Patched.
Details: This vulnerability was first reported by Mario Heiderich on May 18th 2009, on twitter.
A week later, I found that this vulnerability got fixed. Unfortunately, after playing with it a bit, I figured that it was only partially fixed. Instead of encoding the HTML entities, bit.ly developers have decided to strip the <> characters. E.g. this proof-of-concept would have popup an alert on IE7:
htttp://bit.ly/?url="%20style="color:expression(document.body.onload=function()%20{alert(1)})
The following is the screenshot of the PoC:


Several days ago, after a long discussion with Mario, bit.ly has finally fully fixed this vulnerability.

2) Reflected Cross-Site Scripting in the keywords parameter.
Status: Patched.
Details: This vulnerability was reported by Mike Bailey on June 24th 2009. See Mike's advisory for more details: http://skeptikal.org/2009/06/parsing-quirk-causes-bitly-xss.html
This vulnerability was fixed by bit.ly yesterday.

3) Reflected POST Cross-Site Scripting in the username field of the login page
Status: Patched
Details: This vulnerability was reported by Mario Heiderich. See Mario’s advisory for more details: http://heideri.ch/bit.ly.txt
This vulnerability was fixed by bit.ly yesterday.

4) Persistent Cross-Site Scripting in the content-type field of the URL info page
Status: *Unpatched* Patched.
Details: This vulnerability was submitted by Mike Bailey on June 25th 2009.
Whenever a URL of a website gets shortened by bit.ly service, an information page is created for the URL, with statistics and metadata about the website.
One of the metadata information being stored by bit.ly is the content-type response header of the shortened URL page. This information of-course can be easily changed.
bit.ly fails to encode HTML entities while displaying the content-type information, and therefore allows injection of scripts to the page.
Live proof-of-concept can be found here: http://bit.ly/info/JvH83
Screenshot of the PoC (just in case the live demo will be removed):


Vendor response rate
It took bit.ly a month and a half to fix simple XSS vulnerabilities. Very poor - 0.5 twits.


In conclusion
bit.ly has a large user base (who doesn't click bit.ly links?). However, with such a poor response rate to security vulnerabilities, and with such a poorly coded website, in terms of security, we can only hope for the best. Please be careful clicking those shortened URLs...

[Update - 3 hours into Month of Twitter Bugs] bit.ly have finally fixed the last vulnerability.

Labels: , ,