什么是RTLO:
RTLO是一个8238的Unicode字符,它的作用是让紧跟在后面的字符串倒序: http://www.codetable.net/decimal/8238
可以用来欺骗用户打开可执行文件(钓鱼攻击),或者欺骗后端应用的检查机制
创建欺骗文件:
1.使用名称TestingRTLO[U+202E]xcod.txt
创建一个文件
2.windows自带的character map软件中,找到对应的字符.
3.复制替换[U + 202E]
字符,保存.
在软件中发送过去
下载来是
同理可制作一个exe结尾的。
发过去是log结尾
下载到本地,实际上是exe结尾的。
危害:
可制作以下后缀名的文件:
-
.bat
-
.exe
-
.cmd
-
.com
-
.lnk
-
.pif
-
.scr
-
.vb
-
.vbe
-
.vbs
-
.wsh
修复方案:
参考:https://github.com/nextcloud/server/pull/10030
把该Unicode字符过滤掉
漏洞案例:
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