unicode编码安全问题

unicode编码安全问题

当打开页面时,发现是一个购买的网页,然后输入id为1、2或3,然后输入price,发现显示是错误的商品,然后输入id为4,输入price为1337时,回显只能是一个字符

而后我们再看源码,发现有一个重要的信息

1
<meta charset="utf-8"><!--Ah,really important,seriously. -->

因此,我们可以想到使用unicode编码中的等价性来绕过只能输入一个字符的限制,所以我们可以在下面的网站搜索大于1337的字符

1
2
3
https://www.compart.com/en/unicode/

搜索框输入:thousands

即可查到大于1000或等于1000的字符,然后取出它的utf-8的形式,将/u改为%即可

unicode设计有许多安全的问题,详细请看

1
2
3
浅谈Unicode设计安全:https://xz.aliyun.com/t/5402

unicode等价性浅谈:https://blog.lyle.ac.cn/2018/10/29/unicode-normalization/