0%

Unicode RTLO(Right-To-Left Override)字符欺骗

什么是RTLO:

RTLO是一个8238的Unicode字符,它的作用是让紧跟在后面的字符串倒序: http://www.codetable.net/decimal/8238

可以用来欺骗用户打开可执行文件(钓鱼攻击),或者欺骗后端应用的检查机制


创建欺骗文件:

1.使用名称TestingRTLO[U+202E]xcod.txt创建一个文件

2.windows自带的character map软件中,找到对应的字符.

20201110103632

3.复制替换[U + 202E]字符,保存.

20201110103755

在软件中发送过去

20201110103830

下载来是

20201110103914

同理可制作一个exe结尾的。

发过去是log结尾

20201110104003

下载到本地,实际上是exe结尾的。

20201110104018


危害:

可制作以下后缀名的文件:

  • .bat

  • .exe

  • .cmd

  • .com

  • .lnk

  • .pif

  • .scr

  • .vb

  • .vbe

  • .vbs

  • .wsh


修复方案:

参考:https://github.com/nextcloud/server/pull/10030

把该Unicode字符过滤掉

20201110104540


漏洞案例:

RTLO character allowed in shared files
RTLO char allowed in chat


refs:

Spoof Using Right to Left Override (RTLO) Technique
Unicode RTLO(Right-To-Left Override) Security ISSUE