Y모사에 오퍼제의가 와서 메일을 보았는데 아래에 이상한 배너가 같은 것이 있었다.
한눈에 추적기를 달아놓은 느낌을 받았다.
아마 안보이는 이미지 등을 같이 메세지 본문에 넣어서 로딩되면 서버에서 읽었다고 판단하게 끔 하지 않았을까 추측했다.
메일 원본을 열어보니 역시나 ID가 부여된 이미지 링크가 있었다.
해당 이미지는 고유의 ID가 있기 때문에 웹서버로 HTTP GET 요청이 오면 카운팅을 해서 언제 최초에 열었고, 총 몇 번이 열었나를 기록하게 되어 있다고 추측을 할 수 있다.
mailtrack.io 무력화하기
원리는 위에서 알아본 것과 같이 서버에 요청을 날리는 것이기 때문에 무력화하는 방법 또한 간단하다.
해당 이미지 요청을 서버로 가지 못하게 하면 된다.
<host 파일>
172.217.25.197 mailtrack.io
간단한 방법으로 hotst 파일을 아래와 같이 변경해 놓으면 해당이미지 요청은 54.77.36.133 로 가는 것이 아니고 구글로 요청이 가게 된다.
보낸 사람 짜증나게 하기
mailtrack 사이트에서는 받은 사람이 언제 읽었는지 실시간으로 알림 서비스를 하고 있다.
따라서 주기적으로 해당 이미지 요청을 하게 되면 알람이 시시 때때로 요청을 하게 되므로 짜증이 나게 될 것 이다.
좋은 http client로는 ab를 이용하면 좋다.
예)
ab -n 100000 -c 10 -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" https://mailtrack.io/trace/mail/060ae447239a9140d4006fe51b2f8b811ab19145.png?u=3D3284047
Gmail의 경우 이미지 자동로딩을 막는 방법이 있다.
https://support.google.com/mail/answer/145919?co=GENIE.Platform%3DDesktop&hl=ko
단, iPhone이나 iPad에서는 해당 설정을 막을 수 있는 방법은 없고, PC나 안드로이드 Gmail앱에서만 해당 기능이 제공되고 있었다.
테스트를 해보니 아래와 같이 메일을 읽었음에도 아직 읽지 않았다고 표시가 되고 있었다.
'Out of service' 카테고리의 다른 글
깃헙(HitHub) 장애 및 장애 보고서(Incident Report) (0) | 2018.10.22 |
---|---|
YouTube 전면장애 (0) | 2018.10.17 |
서울특별시버스운송사업조합 홈페이지 폭주인가? (0) | 2017.09.13 |
[Android] 안드로이드에서 앱을 지우면 앱의 목록이 전송된다. (0) | 2017.06.28 |
사악한 마켓팅 : 휴대폰 감염 메세지로 앱 설치 유도 사례 (0) | 2016.07.13 |