本文已参与「新人创作礼」活动,一起开启掘金创作之路
0x00 前言
日常刷题 标签给了Python Unicode 已经一定程度上的hint了 补强一下基础
0x01 brain.md
一个购买界面
比较尴尬的是前几个都提示错误商品
想买第四个提示 only one char allowed
思路比较清晰 以一个Unicode字符替代数字
unicode检索
此处注意 不是任意一个字符编号大于1337的Unicode字符就行 此处的替代理解为等价替换,即该Unicode字符应等价一个大于1337的数值
keyword:number
可以看到对应的数值
直接传参即可
0x02 rethink
拓展阅读
浅谈Unicode设计的安全性 截取 而后ISO(International Organization for Standardization, 国际标准化组织) 开始尝试制定包含大部分字母和符号的编码,称为"Universal Multiple-Octet Coded Character Set",简称UCS, 俗称Unicode。
Unicode实际上是一个字符和数字之间的映射关系表,并不制定实际的编码方案。因此又开始制定UTF(Unicode Transformation Formats)标准,包括UTF-8、UTF-16和UTF-32等。可以理解为Unicode是一个设计图,而UTF-X是其中一种实现。 一些国家的数字在显示的时候也可能造成问题,例如孟加拉语的0-9是০ ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯,但是这里的৪ (U+09EA) 实际上是数字4。ASIS CTF 2019 的 Unicorn Shop 也是从Unicode背后的数字角度出发考虑问题。