Any site could determine your Twitter username via nifty RESTful API and JSON callbacks. #buzzwords
Retrieve Username $.getJSON(" http://twitter.com /statuses/user_timeline?count=1&callback=? ", function(data) { alert("Username is: " + data[0].user.screen_name ) }); {"text":"Pretty sure humans have kneecaps so we can slam them into tables. *ow*","truncated":false, "user" :{"following":null,"time_zone":"Pacific Time (US & Canada)","description":"Prof. Computer Security Consultant with a passion for breaking things and generating statistics (see http://tweetstats.com and http://ratemytalk.com).", "screen_name":"dacort" ,"utc_offset":-28800,"profile_sidebar_border_color":"87bc44","notifications":null,"created_at":"Thu Dec 21 07:14:05 +0000 2006","profile_text_color":"000000","url":"http://dcortesi.com","name":"Damon Cortesi","statuses_count":21385,"profile_background_image_url":"http://static.twitter.com/images/themes/theme1/bg.gif","followers_count":4441,"protected":false,"profile_link_color":"A100FF","profile_background_tile":false,"friends_count":1775,"profile_background_color":"000000","verified":false,"favourites_count":202,"profile_image_url":"http://s3.amazonaws.com/twitter_production/profile_images/90802743/Famous_Glasses_normal.jpg","location":"Seattle, WA","id":99723,"profile_sidebar_fill_color":"e0ff92"},"in_reply_to_status_id":null,"created_at":"Mon Jul 27 21:37:53 +0000 2009","in_reply_to_user_id":null,"favorited":false,"in_reply_to_screen_name":null,"id":2877957719,"source":"<a href="http:// www.atebits.com /">Tweetie</a>"}
Courtesy of @harper
Protected Users
If your app displays tweets
Does it respected the protected status
Can change at any time
Let’s have some fun...
Demo time!
Mitigation
“Increase your security by 80%, by fixing 20% of the problems.”
Input Sanitization and Validation
Data Encoding and Escaping
Sanitization/Encoding
SQL: mysql_real_escape_string()
Stored Procedures/Frameowkrs
HTML/XSS: htmlentities(), innerText
“<b>Damon</b> >> "<b>Damon</b>
Beware encoding
Also Watch out for...
Help your users
Some other things...
Keeping systems/software up-to-date
Rails < 2.1.1? -- SQL Injection bug
JumpBox (Server Provisioning) uses Rails 2.1.0
Infrastructure Security
Do you know your external network presence?
Have all your default passwords been changed?
One last thing
Not always some über-technical buffer overflow sploit...
Access database on unprotected share
demo/demo password
Email on confirmation page
Are people thinking securely?
Oh, Shorteners...
Third Parties
TwitPic Integration from client apps
Is your password only local to the client app?
Nope. Not if you “twitpic” something.
You’re only as secure as the apps that you (or your friends) use.
0 comments
Post a comment