Terence Eden. He has a beard and is smiling.

Terence Eden’s Blog

Theme Switcher:

My 2FA Code was 000 000!

· 2 comments · 400 words · Viewed ~1,640 times


Facebook's 2FA code page.

I stared at my TOTP generator. Surely this must be a bug? Leap Year related? Or a cold-start error? Or some freaky prank? How could my login code be 000000?!?! A standard TOTP code is normally 6 digits long. There are a million combinations, from 000000 to 999999. A million isn't a particularly big number. A million seconds is about 12 days. A TOTP code changes every 30 seconds. Assuming the…

Responsible Disclosure - John Lewis

· 550 words · Viewed ~877 times


John Lewis Website with a big circle drawn on it.

The HTML5 specification is complicated. I've been an author on it, and even I couldn't tell you all the weird little gotchas it contains. Between that and "idiosyncratic" browser engines, it's a wonder the world wide web works at all. Let's talk about the humble <meta> element. As its name suggests, it contains metadata about the document. A typical element might look like this: <meta…

Your webcam cover is messing up your screen brightness

· 4 comments · 150 words · Viewed ~906 times


A laptop with the webcam covered - a green LED is visible.

Here's something I didn't know - but should have, because it's obvious... Your screen's auto-brightness depends on your webcam. If, like me, you have a privacy cover - this happens: https://shkspr.mobi/blog/wp-content/uploads/2020/02/WebCamp-Cover.mp4 The MacBook I'm using doesn't have any lux sensors that I can see - most phones have a separate sensor which means the camera isn't in use all…

Even Google forgets to renew its domains

· 13 comments · 500 words · Viewed ~33,171 times


Domain showing as available to purchase.

tl;dr Google forgot to renew a domain used in their documentation. It was mildly embarrassing for them. And possibly a minor security concern for some new G-Suite domain administrators Background Choosing a good example domain, to use in documentation, is hard. You want something which is obviously an example, so that users understand they have to substitute it for their own details. But…

Thames Water don't get password security

· 1 comment · 350 words · Viewed ~2,971 times


Thames Water seem to love giving me a new account number each month. That would be fine, but each time they do, I have to manually add that number to my online account. I'm bored of being their data-entry monkey. So, when they rang today, I told them that I expected them to update my account. We had the normal back-and-forth and "let me speak to your manager" that accompanies anything deviating …

Responsible Disclosure: SVG injection in Three.co.uk

· 4 comments · 250 words · Viewed ~677 times


The website has a circle drawn on it.

Here's a quick write-up of a minor XSS (Cross Site Scripting) vulnerability on the website of Three.co.uk - one of the UK's mobile providers. A brief recap... Most websites have a search function. If you search for something which cannot be found, the site will often say "No results found for XYZ." If we can convince the search engine to spit out HTML, we can inject malicious content into…

Is LogMeIn leaking email addresses?

· 2 comments · 500 words · Viewed ~354 times


Fraud alert warning signs.

Like all security minded people, I use a unique email address for every service I sign up to. This week, I noticed I had started receiving spam to an email address associated with my Join.me account. Join.me is a screen sharing service now owned by LogMeIn. I signed up for a trial of Join.me back in 2012(!) and as far as I'm aware, never used it again. Checking my records, this piece of spam…

Who can I hire to hack me?

· 250 words · Viewed ~5,642 times


GitHub screenshot "Insert your security key Press the button on your security key device to finish signing in. If it does not have a button, just re-insert it."

I use a password manager. I have 2FA set up on everything. When an organisation asks me to set a recovery question, I generate a 32 character passphrase. I don't use my mother's maiden name or my first pet's birthday on anything sensitive. I monitor my email addresses for breaches, and I regularly check my credit file. I'm doing everything a geek can to protect their online life. Is it enough? …

Episode 23 - Sixty Second Security with Dan Raywood

· 100 words


Dan Raywood holding a microphone.

How can you quickly tune up your computer security? Dan Raywood - Contributing Editor at Infosecurity Magazine shares his wisdom with us. 🔊 💾 Download this audio file. If you're interested in an open source password manager, I'm happy to personally recommend BitWarden 🎧 Stick this Podcast Feed into your podcatcher. 🍏 Subscribe on iTunes. 🎵 Intro music "Gran Vals" performed by Bria…

I have Thirty-One 2FA codes

· 7 comments · 650 words · Viewed ~1,088 times


A long list of 2FA tokens.

Last week I wrote about how I had 800 passwords in my password manager. It was intended to highlight the ridiculous proliferation of online services, and how redecentralising identity comes with a manageability problem. I now want to talk about 2FA - Two-Factor Authentication - the random codes you have to type in every time you log in somewhere secure. This week, I've moved all my 2FA tokens…

I have 800 passwords

· 10 comments · 500 words · Viewed ~8,385 times


Bitwarden vault showing 795 login details.

I've started using BitWarden - the open source password manager. As I've been binge-watching Marie Kondo, I thought it was about time that I deleted all the accounts that I no longer user. I got rid of dozens related to previous employers. I hope the passwords wouldn't work after I left but 🤷‍♂️. I scanned through the list and deleted old bank details, failed social networks, and obvious duplic…

Hidden Data in NFC Tags

· 1 comment · 450 words · Viewed ~1,388 times


Various NFC icons.

I've just got a set of wearable NFC tags, and I've discovered something interesting about the way data is stored on them. tl;dr Overwriting a tag can leave old data intact, and still readable. Here's the decoded memory layout of a tag with data written to it. In this case, a (failed) experiment at storing a JavaScript pop-up. # NDEF message: [00] D1 01 7D 55 00 64 61 74 61 3A 74 65 78 74 2F 68 …