Hashtag Steganography


Steganography (/ˌstɛɡəˈnɒɡrəfi/ is the practice of concealing a file, message, image, or video within another file, message, image, or video. I recently saw someone tweeting the hashtag #ManchesُterDerby Do you see an odd character in the middle? It's an Arabic Damma (U+064F) - a vowel character. Although it comes after the "s" in Manchester, it appears after the "t" because it is a Right-To-Left (RTL) character. Yet, if you click on the hashtag with the extra character, you get through to …

Continue reading →

Why doesn't Twitter block Tweets properly?


A quote tweet. The quoted content is unavailable.

For the sake of my mental health, I've blocked a few people and organisations on Twitter. They can't see what I do, and I can't see them. I'm sure you've done the same to a celebrity or pundit you just can't stand the sight of. Perhaps you have an abuser you'd rather not have thrust in your face. The blocking tool is pretty handy! Except it doesn't work the way I would expect it to. Here's an example where my friend, Kyle Evans (go see him on tour), has quote tweeted an account I've…

Continue reading →

Sending 1.2 Million Tweets


A beautiful blue sky with scattered clouds. Text reads 2586 Watts - 68% battery.

Back in 2014, I set up a rather silly Twitter account - @OxfordSolarLive. The premise was simple. A camera took a photo of the sky above my house. It took a reading from my solar panels to see how much electricity they were generating. It superimposed the reading on the photo. Then posted it on Twitter. Solar Realtime Edent@OxfordSolarLive1206 watts. pic.x.com/ip2cp5rrao❤️ 0💬 0🔁 014:11 - Fri 24 August 2018 When I had a solar battery fitted, it also added that into the mix. Solar Realtime Ede…

Continue reading →

Warning - do not click on Twitter ads


Picture of Richard Branson, encouraging people to deposit £250.

It seems that Twitter has lost control of its advertising system. This blog post will show you why it is dangerous to click on any Twitter advertising. Twitter ads have always been a bit crap, but I've seen a recent influx in outright scams. Let me step you through a couple of examples. A typical click-bait headline. What has our favourite celeb done this time? In a moment of weakness, let's click through... Straight away we can see that the branding on the site has been set up to…

Continue reading →

Crypto Scammers Abusing Twitter Cards via Redirects


A spam advert on Twitter. The CNBC website is highlighted at the bottom.

Twitter has a problem with scam advertising. Rather than having humans manually check adverts for acceptability and authenticity, they let almost anyone promote anything. Whatever meagre protections they build in are rapidly evaded by the scammers. Let's take a look at an example of a promoted crypto-scam about Singapore. I'd say it was obviously a fake, but Twitter says this story comes from CNBC...! Take a look at the bottom of the image - the CNBC domain name is there... Diving into…

Continue reading →

$3k Bug Bounty - Twitter's OAuth Mistakes


A Twitter login screen. Highlighted is the information that it cannot access your DMs.

Imagine the scenario. You're trying out some cool new Twitter app. It asks you to sign in via OAuth as per usual. You look through the permissions - phew - it doesn't want to access your Direct Messages. You authorise it - whereupon it promptly leaks to the world all your sexts, inappropriate jokes, and dank memes. Tragic! What's going on? Many years ago the official Twitter API keys were leaked. This means that app authors who can't get their app approved by Twitter are still able to…

Continue reading →

Twitter's Secret "Guest Mode"


Twitter's guest mode displayed on a TV.

Twitter has an undocumented feature which lets you follow accounts without being logged in. Here's how I found it, and how you can use it. My crappy old TV has a crappy old web browser on it. One boring Sunday, I decided to see which websites worked and which didn't on a 6 year old browser. Anything using LetsEncrypt was unavailable due to "security certificate issues" - but Twitter worked. Sort of. As soon as I opened the page, I was redirected to mobile.twitter.com/i/guest - don't try it…

Continue reading →

How to avoid JPG compression on Twitter


Screenshot of a graphics editor. One pixel has been removed from the image.

Update for 2019! Twitter have changed how they compress images. Some of the techniques in this blog post may be out of date. Let's talk image compression! Services like Twitter will often apply aggressive levels of compression in order to reduce their storage space and decrease download times. This can have negative consequences for usability and image quality. Here's an example - this detail of a logo from my former employers, Vodafone. Solid red - with some fine detail in white: If you…

Continue reading →

A curious way to break Twitter's search results


Screenshot of a tweet. The HTML is malformed.

(This isn't really a security issue, although I've disclosed it to the Twitter team.) "Fuzzing" is a computer science term which means "sending weird data into a program and seeing what happens." It's a useful way to see how your code can break in new and unexpected ways. It's particularly good at showing what a website's search engine does when it is confused. For example, here's a fairly mundane Tweet. Offshore A-Z@OffshoreAZ🏢 HONOUR INTERNATIONAL LIMITED🇰🇾 Cayman Islands🎯 <html><head…

Continue reading →

An Animation of Every Emoji


A friendly looking chicken stares at you

The Video Terence Eden is on Mastodon@edentEVERY EMOJI! pic.x.com/2fcuqwu67c❤️ 1,306💬 54🔁 020:09 - Tue 24 October 2017 Download the WEBM version (19MB). The Process Mostly notes to myself, but I thought you lot might be interested 🙂 Get Every Emoji from Twemoji Twitter maintain the Twemoji Project - it contains high quality SVGs of every emoji. They generously make them available under CC-BY. But grabbing all the SVGs we want is a little tricky. GitHub don't make it easy to download a sin…

Continue reading →

Easy Tutorial For Getting Twitter Friends Using Python & Tweepy


Here's a very simple introduction to getting started with Tweepy - a Python program which lets you access Twitter. This will work on small computers like the Raspberry Pi. Everything here takes place in the Terminal on the Command Line. This should work on Windows and Mac - but I'm using Linux. Get Python Open your terminal or command prompt. Type python You should see something like: Python 2.7.9 (default, Dec 28 2016, 18:26:44) [GCC 4.8.4] on linux2 Type "help", "copyright", "credits"…

Continue reading →

The Twitter Logo As SVG Circles


The Twitter logo drawn in circles.

Five years ago, Twitter updated its logo and demonstrated that it could be made entirely of circles. Interestingly, the official Twitter logo doesn't use circles directly. So, here is an SVG I've made which is only circles: Or, without the edges, and no transparency: And the raw code: <svg height="100" viewBox="0 0 100 100" width="100" xmlns="http://www.w3.org/2000/svg"> <circle cx="50" cy="50" fill="#fff" r="100"/> <circle cx="35" cy="33" fill="#1da1f3" r="56"/> <circle cx="07" …

Continue reading →