How Apple's Hide My Email exploit worked and why you're still at risk
easyoptouts.com4 pointsby tjames70000 comments
const net = require('net')
const server = net.createServer((socket) => {
socket.setEncoding('utf8')
socket.write('220 ...')
socket.on('data', (data) => {
if (isHideMyEmail(data)) {
// handle one way
} else {
// handle another way
}
})
...
})
server.listen(25, '0.0.0.0', () => {
console.log(`Ready for incoming emails`)
});
That being said, I have no idea how Hide My Email works technically. Maybe the headers would make it clearer. "delivery-status": {
"code": 550,
"description": "This is a system-generated message to inform you that your email could not\r\nbe delivered to one or more recipients. Details of the email and the error are as follows:\r\n\r\n\r\n<[email protected]>: host 127.0.0.1[127.0.0.1] said: 550 5.7.1 message\r\n content rejected due to spam; if you feel that your email was rejected in\r\n error, please forward a copy to [email protected] (in reply to end of\r\n DATA command)\r\n",
"enhanced-code": "5.7.1",
"message": "smtp; 550 message content rejected due to spam; if you feel that your email was rejected in error, please forward a copy to [email protected]"
}
The "description" fields' contents were almost identical regardless of the hidden email address's mail host, but I don't know if that means anything.