Skip to content

Files

Latest commit

 

History

History
214 lines (186 loc) · 73.4 KB

File metadata and controls

214 lines (186 loc) · 73.4 KB

有趣的XSS之Normalize

环境

环境代码放在仓库同名路径下了

https://github.com/Y4tacker/JavaSec/blob/main/1.%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/%E6%9C%89%E8%B6%A3%E7%9A%84XSS%E4%B9%8BNormalize/HowToXss.txt

你需要下载它,并改后缀为zip自行解压

代码

@Controller
public class UserController {
    public static HashMap comments = new HashMap();

    @RequestMapping("/showcomment")
    @ResponseBody
    public String showAllComments() throws Exception {
        StringBuilder ret = new StringBuilder();
        ret.append("<!DOCTYPE html><html><head><title>Comments</title></head><body><table>");
        Collection values = comments.values();
        for (Object value : values) {
            String comment  = ((String)value).replace("<", "&lt;").replace(">", "&gt;");
            ret.append("<tr><td>" + Normalizer.normalize(comment, Normalizer.Form.NFKC) + "</td></tr>\n");
        }
        ret.append("</table></body></html>");
        return ret.toString();

    }

    @RequestMapping("/comment")
    @ResponseBody
    public String comment(String comment){
        if(comment != null){
            comments.put(UUID.randomUUID().toString().replaceAll("-",""),comment);
            return "comment added";
        }else {
            return "comment?";
        }

    }


}

分析

可以看到comment路由是一个添加评论的方法

showcomment则用来查看添加的评论,在这个方法当中有个很骚的地方,先是对值做了归一化处理(不懂的可以百度也可以看看最下方参考链接),再做替换,而这个就是导致xss的原因,这里简单说说原因

String comment  = ((String)value).replace("<", "&lt;").replace(">", "&gt;");
            ret.append("<tr><td>" + Normalizer.normalize(comment, Normalizer.Form.NFKC) + "</td></tr>\n");

经过规范化后\ufe64\ufe65会被分别转换为字符<>,从而造成xss的逃逸执行

因此我们需要在路由comment,传入comment=﹤script﹥alert(123);﹤/script﹥注意它不是<>从外观也有些许区别

image-20221209103214424

访问路由showcomment,成功xss

image-20221209103244478

可能会被normalize的一些unicode字符汇总

NFC Normalised NFKC Normalised NFD Normalised NFKD Normalised

Printable Hex Alternatives
a/c 0x612f63 ℀ %e2%84%80 ℀ NFKD,NFKC
13. 0x31332e ⒔ %e2%92%94 ⒔ NFKD,NFKC
a/s 0x612f73 ℁ %e2%84%81 ℁ NFKD,NFKC
0x20 %c2%a0   NFKD,NFKC %e2%80%80   NFKD,NFKC %e2%80%81   NFKD,NFKC %e2%80%82   NFKD,NFKC %e2%80%83   NFKD,NFKC %e2%80%84   NFKD,NFKC %e2%80%85   NFKD,NFKC %e2%80%86   NFKD,NFKC %e2%80%87   NFKD,NFKC %e2%80%88   NFKD,NFKC %e2%80%89   NFKD,NFKC %e2%80%8a   NFKD,NFKC %e2%80%af   NFKD,NFKC %e2%81%9f   NFKD,NFKC %e3%80%80   NFKD,NFKC
$ 0x24 ﹩ %ef%b9%a9 ﹩ NFKD,NFKC $ %ef%bc%84 $ NFKD,NFKC
( 0x28 ⁽ %e2%81%bd ⁽ NFKD,NFKC ₍ %e2%82%8d ₍ NFKD,NFKC ︵ %ef%b8%b5 ︵ NFKD,NFKC ﹙ %ef%b9%99 ﹙ NFKD,NFKC ( %ef%bc%88 ( NFKD,NFKC
, 0x2c ︐ %ef%b8%90 ︐ NFKD,NFKC ﹐ %ef%b9%90 ﹐ NFKD,NFKC , %ef%bc%8c , NFKD,NFKC
0 0x30 ⁰ %e2%81%b0 ⁰ NFKD,NFKC ₀ %e2%82%80 ₀ NFKD,NFKC ⓪ %e2%93%aa ⓪ NFKD,NFKC 0 %ef%bc%90 0 NFKD,NFKC
4 0x34 ⁴ %e2%81%b4 ⁴ NFKD,NFKC ₄ %e2%82%84 ₄ NFKD,NFKC ④ %e2%91%a3 ④ NFKD,NFKC 4 %ef%bc%94 4 NFKD,NFKC
8 0x38 ⁸ %e2%81%b8 ⁸ NFKD,NFKC ₈ %e2%82%88 ₈ NFKD,NFKC ⑧ %e2%91%a7 ⑧ NFKD,NFKC 8 %ef%bc%98 8 NFKD,NFKC
2. 0x322e ⒉ %e2%92%89 ⒉ NFKD,NFKC
< 0x3c ﹤ %ef%b9%a4 ﹤ NFKD,NFKC < %ef%bc%9c < NFKD,NFKC
... 0x2e2e2e … %e2%80%a6 … NFKD,NFKC ︙ %ef%b8%99 ︙ NFKD,NFKC
D 0x44 ᴰ %e1%b4%b0 ᴰ NFKD,NFKC ⅅ %e2%85%85 ⅅ NFKD,NFKC Ⅾ %e2%85%ae Ⅾ NFKD,NFKC Ⓓ %e2%92%b9 Ⓓ NFKD,NFKC D %ef%bc%a4 D NFKD,NFKC
== 0x3d3d ⩵ %e2%a9%b5 ⩵ NFKD,NFKC
H 0x48 ᴴ %e1%b4%b4 ᴴ NFKD,NFKC ℋ %e2%84%8b ℋ NFKD,NFKC ℌ %e2%84%8c ℌ NFKD,NFKC ℍ %e2%84%8d ℍ NFKD,NFKC Ⓗ %e2%92%bd Ⓗ NFKD,NFKC H %ef%bc%a8 H NFKD,NFKC
L 0x4c ᴸ %e1%b4%b8 ᴸ NFKD,NFKC ℒ %e2%84%92 ℒ NFKD,NFKC Ⅼ %e2%85%ac Ⅼ NFKD,NFKC Ⓛ %e2%93%81 Ⓛ NFKD,NFKC L %ef%bc%ac L NFKD,NFKC
12. 0x31322e ⒓ %e2%92%93 ⒓ NFKD,NFKC
P 0x50 ᴾ %e1%b4%be ᴾ NFKD,NFKC ℙ %e2%84%99 ℙ NFKD,NFKC Ⓟ %e2%93%85 Ⓟ NFKD,NFKC P %ef%bc%b0 P NFKD,NFKC
T 0x54 ᵀ %e1%b5%80 ᵀ NFKD,NFKC Ⓣ %e2%93%89 Ⓣ NFKD,NFKC T %ef%bc%b4 T NFKD,NFKC
X 0x58 Ⅹ %e2%85%a9 Ⅹ NFKD,NFKC Ⓧ %e2%93%8d Ⓧ NFKD,NFKC X %ef%bc%b8 X NFKD,NFKC
** 0x5c ﹨ %ef%b9%a8 ﹨ NFKD,NFKC \ %ef%bc%bc \ NFKD,NFKC
` 0x60 ` %e1%bf%af ` NFKD,NFKC,NFD,NFC ` %ef%bd%80 ` NFKD,NFKC
d 0x64 ᵈ %e1%b5%88 ᵈ NFKD,NFKC ⅆ %e2%85%86 ⅆ NFKD,NFKC ⅾ %e2%85%be ⅾ NFKD,NFKC ⓓ %e2%93%93 ⓓ NFKD,NFKC d %ef%bd%84 d NFKD,NFKC
h 0x68 ʰ %ca%b0 ʰ NFKD,NFKC ℎ %e2%84%8e ℎ NFKD,NFKC ⓗ %e2%93%97 ⓗ NFKD,NFKC h %ef%bd%88 h NFKD,NFKC
l 0x6c ˡ %cb%a1 ˡ NFKD,NFKC ℓ %e2%84%93 ℓ NFKD,NFKC ⅼ %e2%85%bc ⅼ NFKD,NFKC ⓛ %e2%93%9b ⓛ NFKD,NFKC l %ef%bd%8c l NFKD,NFKC
p 0x70 ᵖ %e1%b5%96 ᵖ NFKD,NFKC ⓟ %e2%93%9f ⓟ NFKD,NFKC p %ef%bd%90 p NFKD,NFKC
5. 0x352e ⒌ %e2%92%8c ⒌ NFKD,NFKC
t 0x74 ᵗ %e1%b5%97 ᵗ NFKD,NFKC ⓣ %e2%93%a3 ⓣ NFKD,NFKC t %ef%bd%94 t NFKD,NFKC
x 0x78 ˣ %cb%a3 ˣ NFKD,NFKC ₓ %e2%82%93 ₓ NFKD,NFKC ⅹ %e2%85%b9 ⅹ NFKD,NFKC ⓧ %e2%93%a7 ⓧ NFKD,NFKC x %ef%bd%98 x NFKD,NFKC
| 0x7c | %ef%bd%9c | NFKD,NFKC
A 0x41 ᴬ %e1%b4%ac ᴬ NFKD,NFKC Ⓐ %e2%92%b6 Ⓐ NFKD,NFKC A %ef%bc%a1 A NFKD,NFKC
8. 0x382e ⒏ %e2%92%8f ⒏ NFKD,NFKC
11. 0x31312e ⒒ %e2%92%92 ⒒ NFKD,NFKC
19. 0x31392e ⒚ %e2%92%9a ⒚ NFKD,NFKC
# 0x23 ﹟ %ef%b9%9f ﹟ NFKD,NFKC # %ef%bc%83 # NFKD,NFKC
' 0x27 ' %ef%bc%87 ' NFKD,NFKC
+ 0x2b ⁺ %e2%81%ba ⁺ NFKD,NFKC ₊ %e2%82%8a ₊ NFKD,NFKC ﬩ %ef%ac%a9 ﬩ NFKD,NFKC ﹢ %ef%b9%a2 ﹢ NFKD,NFKC + %ef%bc%8b + NFKD,NFKC
/ 0x2f / %ef%bc%8f / NFKD,NFKC
p.m. 0x702e6d2e ㏘ %e3%8f%98 ㏘ NFKD,NFKC
3 0x33 ³ %c2%b3 ³ NFKD,NFKC ₃ %e2%82%83 ₃ NFKD,NFKC ③ %e2%91%a2 ③ NFKD,NFKC 3 %ef%bc%93 3 NFKD,NFKC
7 0x37 ⁷ %e2%81%b7 ⁷ NFKD,NFKC ₇ %e2%82%87 ₇ NFKD,NFKC ⑦ %e2%91%a6 ⑦ NFKD,NFKC 7 %ef%bc%97 7 NFKD,NFKC
; 0x3b ; %cd%be ; NFKD,NFKC,NFD,NFC ︔ %ef%b8%94 ︔ NFKD,NFKC ﹔ %ef%b9%94 ﹔ NFKD,NFKC ; %ef%bc%9b ; NFKD,NFKC
? 0x3f ︖ %ef%b8%96 ︖ NFKD,NFKC ﹖ %ef%b9%96 ﹖ NFKD,NFKC ? %ef%bc%9f ? NFKD,NFKC
C 0x43 ℂ %e2%84%82 ℂ NFKD,NFKC ℭ %e2%84%ad ℭ NFKD,NFKC Ⅽ %e2%85%ad Ⅽ NFKD,NFKC Ⓒ %e2%92%b8 Ⓒ NFKD,NFKC C %ef%bc%a3 C NFKD,NFKC
10. 0x31302e ⒑ %e2%92%91 ⒑ NFKD,NFKC
G 0x47 ᴳ %e1%b4%b3 ᴳ NFKD,NFKC Ⓖ %e2%92%bc Ⓖ NFKD,NFKC G %ef%bc%a7 G NFKD,NFKC
K 0x4b ᴷ %e1%b4%b7 ᴷ NFKD,NFKC K %e2%84%aa K NFKD,NFKC,NFD,NFC Ⓚ %e2%93%80 Ⓚ NFKD,NFKC K %ef%bc%ab K NFKD,NFKC
O 0x4f ᴼ %e1%b4%bc ᴼ NFKD,NFKC Ⓞ %e2%93%84 Ⓞ NFKD,NFKC O %ef%bc%af O NFKD,NFKC
S 0x53 Ⓢ %e2%93%88 Ⓢ NFKD,NFKC S %ef%bc%b3 S NFKD,NFKC
W 0x57 ᵂ %e1%b5%82 ᵂ NFKD,NFKC Ⓦ %e2%93%8c Ⓦ NFKD,NFKC W %ef%bc%b7 W NFKD,NFKC
[ 0x5b ﹇ %ef%b9%87 ﹇ NFKD,NFKC [ %ef%bc%bb [ NFKD,NFKC
_ 0x5f ︳ %ef%b8%b3 ︳ NFKD,NFKC ︴ %ef%b8%b4 ︴ NFKD,NFKC ﹍ %ef%b9%8d ﹍ NFKD,NFKC ﹎ %ef%b9%8e ﹎ NFKD,NFKC ﹏ %ef%b9%8f ﹏ NFKD,NFKC _ %ef%bc%bf _ NFKD,NFKC
c 0x63 ᶜ %e1%b6%9c ᶜ NFKD,NFKC ⅽ %e2%85%bd ⅽ NFKD,NFKC ⓒ %e2%93%92 ⓒ NFKD,NFKC c %ef%bd%83 c NFKD,NFKC
g 0x67 ᵍ %e1%b5%8d ᵍ NFKD,NFKC ℊ %e2%84%8a ℊ NFKD,NFKC ⓖ %e2%93%96 ⓖ NFKD,NFKC g %ef%bd%87 g NFKD,NFKC
k 0x6b ᵏ %e1%b5%8f ᵏ NFKD,NFKC ⓚ %e2%93%9a ⓚ NFKD,NFKC k %ef%bd%8b k NFKD,NFKC
o 0x6f º %c2%ba º NFKD,NFKC ᵒ %e1%b5%92 ᵒ NFKD,NFKC ₒ %e2%82%92 ₒ NFKD,NFKC ℴ %e2%84%b4 ℴ NFKD,NFKC ⓞ %e2%93%9e ⓞ NFKD,NFKC o %ef%bd%8f o NFKD,NFKC
s 0x73 ſ %c5%bf ſ NFKD,NFKC ˢ %cb%a2 ˢ NFKD,NFKC ⓢ %e2%93%a2 ⓢ NFKD,NFKC s %ef%bd%93 s NFKD,NFKC
a.m. 0x612e6d2e ㏂ %e3%8f%82 ㏂ NFKD,NFKC
3. 0x332e ⒊ %e2%92%8a ⒊ NFKD,NFKC
w 0x77 ʷ %ca%b7 ʷ NFKD,NFKC ⓦ %e2%93%a6 ⓦ NFKD,NFKC w %ef%bd%97 w NFKD,NFKC
{ 0x7b ︷ %ef%b8%b7 ︷ NFKD,NFKC ﹛ %ef%b9%9b ﹛ NFKD,NFKC { %ef%bd%9b { NFKD,NFKC
~ 0x7e ~ %ef%bd%9e ~ NFKD,NFKC
17. 0x31372e ⒘ %e2%92%98 ⒘ NFKD,NFKC
::= 0x3a3a3d ⩴ %e2%a9%b4 ⩴ NFKD,NFKC
6. 0x362e ⒍ %e2%92%8d ⒍ NFKD,NFKC
Y 0x59 Ⓨ %e2%93%8e Ⓨ NFKD,NFKC Y %ef%bc%b9 Y NFKD,NFKC
!? 0x213f ⁉ %e2%81%89 ⁉ NFKD,NFKC
" 0x22 " %ef%bc%82 " NFKD,NFKC
c/u 0x632f75 ℆ %e2%84%86 ℆ NFKD,NFKC
.. 0x2e2e ‥ %e2%80%a5 ‥ NFKD,NFKC ︰ %ef%b8%b0 ︰ NFKD,NFKC
& 0x26 ﹠ %ef%b9%a0 ﹠ NFKD,NFKC & %ef%bc%86 & NFKD,NFKC
***** 0x2a ﹡ %ef%b9%a1 ﹡ NFKD,NFKC * %ef%bc%8a * NFKD,NFKC
18. 0x31382e ⒙ %e2%92%99 ⒙ NFKD,NFKC
. 0x2e ․ %e2%80%a4 ․ NFKD,NFKC ﹒ %ef%b9%92 ﹒ NFKD,NFKC . %ef%bc%8e . NFKD,NFKC
2 0x32 ² %c2%b2 ² NFKD,NFKC ₂ %e2%82%82 ₂ NFKD,NFKC ② %e2%91%a1 ② NFKD,NFKC 2 %ef%bc%92 2 NFKD,NFKC
6 0x36 ⁶ %e2%81%b6 ⁶ NFKD,NFKC ₆ %e2%82%86 ₆ NFKD,NFKC ⑥ %e2%91%a5 ⑥ NFKD,NFKC 6 %ef%bc%96 6 NFKD,NFKC
: 0x3a ︓ %ef%b8%93 ︓ NFKD,NFKC ﹕ %ef%b9%95 ﹕ NFKD,NFKC : %ef%bc%9a : NFKD,NFKC
c/o 0x632f6f ℅ %e2%84%85 ℅ NFKD,NFKC
> 0x3e ﹥ %ef%b9%a5 ﹥ NFKD,NFKC > %ef%bc%9e > NFKD,NFKC
16. 0x31362e ⒗ %e2%92%97 ⒗ NFKD,NFKC
B 0x42 ᴮ %e1%b4%ae ᴮ NFKD,NFKC ℬ %e2%84%ac ℬ NFKD,NFKC Ⓑ %e2%92%b7 Ⓑ NFKD,NFKC B %ef%bc%a2 B NFKD,NFKC
9. 0x392e ⒐ %e2%92%90 ⒐ NFKD,NFKC
J 0x4a ᴶ %e1%b4%b6 ᴶ NFKD,NFKC Ⓙ %e2%92%bf Ⓙ NFKD,NFKC J %ef%bc%aa J NFKD,NFKC
N 0x4e ᴺ %e1%b4%ba ᴺ NFKD,NFKC ℕ %e2%84%95 ℕ NFKD,NFKC Ⓝ %e2%93%83 Ⓝ NFKD,NFKC N %ef%bc%ae N NFKD,NFKC
R 0x52 ᴿ %e1%b4%bf ᴿ NFKD,NFKC ℛ %e2%84%9b ℛ NFKD,NFKC ℜ %e2%84%9c ℜ NFKD,NFKC ℝ %e2%84%9d ℝ NFKD,NFKC Ⓡ %e2%93%87 Ⓡ NFKD,NFKC R %ef%bc%b2 R NFKD,NFKC
V 0x56 Ⅴ %e2%85%a4 Ⅴ NFKD,NFKC Ⓥ %e2%93%8b Ⓥ NFKD,NFKC ⱽ %e2%b1%bd ⱽ NFKD,NFKC V %ef%bc%b6 V NFKD,NFKC
Z 0x5a ℤ %e2%84%a4 ℤ NFKD,NFKC ℨ %e2%84%a8 ℨ NFKD,NFKC Ⓩ %e2%93%8f Ⓩ NFKD,NFKC Z %ef%bc%ba Z NFKD,NFKC
^ 0x5e ^ %ef%bc%be ^ NFKD,NFKC
=== 0x3d3d3d ⩶ %e2%a9%b6 ⩶ NFKD,NFKC
b 0x62 ᵇ %e1%b5%87 ᵇ NFKD,NFKC ⓑ %e2%93%91 ⓑ NFKD,NFKC b %ef%bd%82 b NFKD,NFKC
f 0x66 ᶠ %e1%b6%a0 ᶠ NFKD,NFKC ⓕ %e2%93%95 ⓕ NFKD,NFKC f %ef%bd%86 f NFKD,NFKC
j 0x6a ʲ %ca%b2 ʲ NFKD,NFKC ⅉ %e2%85%89 ⅉ NFKD,NFKC ⓙ %e2%93%99 ⓙ NFKD,NFKC ⱼ %e2%b1%bc ⱼ NFKD,NFKC j %ef%bd%8a j NFKD,NFKC
n 0x6e ⁿ %e2%81%bf ⁿ NFKD,NFKC ⓝ %e2%93%9d ⓝ NFKD,NFKC n %ef%bd%8e n NFKD,NFKC
r 0x72 ʳ %ca%b3 ʳ NFKD,NFKC ᵣ %e1%b5%a3 ᵣ NFKD,NFKC ⓡ %e2%93%a1 ⓡ NFKD,NFKC r %ef%bd%92 r NFKD,NFKC
v 0x76 ᵛ %e1%b5%9b ᵛ NFKD,NFKC ᵥ %e1%b5%a5 ᵥ NFKD,NFKC ⅴ %e2%85%b4 ⅴ NFKD,NFKC ⓥ %e2%93%a5 ⓥ NFKD,NFKC v %ef%bd%96 v NFKD,NFKC
z 0x7a ᶻ %e1%b6%bb ᶻ NFKD,NFKC ⓩ %e2%93%a9 ⓩ NFKD,NFKC z %ef%bd%9a z NFKD,NFKC
1. 0x312e ⒈ %e2%92%88 ⒈ NFKD,NFKC
@ 0x40 ﹫ %ef%b9%ab ﹫ NFKD,NFKC @ %ef%bc%a0 @ NFKD,NFKC
15. 0x31352e ⒖ %e2%92%96 ⒖ NFKD,NFKC
! 0x21 ︕ %ef%b8%95 ︕ NFKD,NFKC ﹗ %ef%b9%97 ﹗ NFKD,NFKC ! %ef%bc%81 ! NFKD,NFKC
% 0x25 ﹪ %ef%b9%aa ﹪ NFKD,NFKC % %ef%bc%85 % NFKD,NFKC
) 0x29 ⁾ %e2%81%be ⁾ NFKD,NFKC ₎ %e2%82%8e ₎ NFKD,NFKC ︶ %ef%b8%b6 ︶ NFKD,NFKC ﹚ %ef%b9%9a ﹚ NFKD,NFKC ) %ef%bc%89 ) NFKD,NFKC
F 0x46 ℱ %e2%84%b1 ℱ NFKD,NFKC Ⓕ %e2%92%bb Ⓕ NFKD,NFKC F %ef%bc%a6 F NFKD,NFKC
- 0x2d ﹣ %ef%b9%a3 ﹣ NFKD,NFKC - %ef%bc%8d - NFKD,NFKC
4. 0x342e ⒋ %e2%92%8b ⒋ NFKD,NFKC
5 0x35 ⁵ %e2%81%b5 ⁵ NFKD,NFKC ₅ %e2%82%85 ₅ NFKD,NFKC ⑤ %e2%91%a4 ⑤ NFKD,NFKC 5 %ef%bc%95 5 NFKD,NFKC
9 0x39 ⁹ %e2%81%b9 ⁹ NFKD,NFKC ₉ %e2%82%89 ₉ NFKD,NFKC ⑨ %e2%91%a8 ⑨ NFKD,NFKC 9 %ef%bc%99 9 NFKD,NFKC
Co. 0x436f2e ㏇ %e3%8f%87 ㏇ NFKD,NFKC
= 0x3d ⁼ %e2%81%bc ⁼ NFKD,NFKC ₌ %e2%82%8c ₌ NFKD,NFKC ﹦ %ef%b9%a6 ﹦ NFKD,NFKC = %ef%bc%9d = NFKD,NFKC
?? 0x3f3f ⁇ %e2%81%87 ⁇ NFKD,NFKC
E 0x45 ᴱ %e1%b4%b1 ᴱ NFKD,NFKC ℰ %e2%84%b0 ℰ NFKD,NFKC Ⓔ %e2%92%ba Ⓔ NFKD,NFKC E %ef%bc%a5 E NFKD,NFKC
I 0x49 ᴵ %e1%b4%b5 ᴵ NFKD,NFKC ℐ %e2%84%90 ℐ NFKD,NFKC ℑ %e2%84%91 ℑ NFKD,NFKC Ⅰ %e2%85%a0 Ⅰ NFKD,NFKC Ⓘ %e2%92%be Ⓘ NFKD,NFKC I %ef%bc%a9 I NFKD,NFKC
7. 0x372e ⒎ %e2%92%8e ⒎ NFKD,NFKC
M 0x4d ᴹ %e1%b4%b9 ᴹ NFKD,NFKC ℳ %e2%84%b3 ℳ NFKD,NFKC Ⅿ %e2%85%af Ⅿ NFKD,NFKC Ⓜ %e2%93%82 Ⓜ NFKD,NFKC M %ef%bc%ad M NFKD,NFKC
Q 0x51 ℚ %e2%84%9a ℚ NFKD,NFKC Ⓠ %e2%93%86 Ⓠ NFKD,NFKC Q %ef%bc%b1 Q NFKD,NFKC
U 0x55 ᵁ %e1%b5%81 ᵁ NFKD,NFKC Ⓤ %e2%93%8a Ⓤ NFKD,NFKC U %ef%bc%b5 U NFKD,NFKC
14. 0x31342e ⒕ %e2%92%95 ⒕ NFKD,NFKC
] 0x5d ﹈ %ef%b9%88 ﹈ NFKD,NFKC ] %ef%bc%bd ] NFKD,NFKC
?! 0x3f21 ⁈ %e2%81%88 ⁈ NFKD,NFKC
20. 0x32302e ⒛ %e2%92%9b ⒛ NFKD,NFKC
a 0x61 ª %c2%aa ª NFKD,NFKC ᵃ %e1%b5%83 ᵃ NFKD,NFKC ₐ %e2%82%90 ₐ NFKD,NFKC ⓐ %e2%93%90 ⓐ NFKD,NFKC a %ef%bd%81 a NFKD,NFKC
e 0x65 ᵉ %e1%b5%89 ᵉ NFKD,NFKC ₑ %e2%82%91 ₑ NFKD,NFKC ℯ %e2%84%af ℯ NFKD,NFKC ⅇ %e2%85%87 ⅇ NFKD,NFKC ⓔ %e2%93%94 ⓔ NFKD,NFKC e %ef%bd%85 e NFKD,NFKC
i 0x69 ᵢ %e1%b5%a2 ᵢ NFKD,NFKC ⁱ %e2%81%b1 ⁱ NFKD,NFKC ℹ %e2%84%b9 ℹ NFKD,NFKC ⅈ %e2%85%88 ⅈ NFKD,NFKC ⅰ %e2%85%b0 ⅰ NFKD,NFKC ⓘ %e2%93%98 ⓘ NFKD,NFKC i %ef%bd%89 i NFKD,NFKC
m 0x6d ᵐ %e1%b5%90 ᵐ NFKD,NFKC ⅿ %e2%85%bf ⅿ NFKD,NFKC ⓜ %e2%93%9c ⓜ NFKD,NFKC m %ef%bd%8d m NFKD,NFKC
q 0x71 ⓠ %e2%93%a0 ⓠ NFKD,NFKC q %ef%bd%91 q NFKD,NFKC
1 0x31 ¹ %c2%b9 ¹ NFKD,NFKC ₁ %e2%82%81 ₁ NFKD,NFKC ① %e2%91%a0 ① NFKD,NFKC 1 %ef%bc%91 1 NFKD,NFKC
u 0x75 ᵘ %e1%b5%98 ᵘ NFKD,NFKC ᵤ %e1%b5%a4 ᵤ NFKD,NFKC ⓤ %e2%93%a4 ⓤ NFKD,NFKC u %ef%bd%95 u NFKD,NFKC
y 0x79 ʸ %ca%b8 ʸ NFKD,NFKC ⓨ %e2%93%a8 ⓨ NFKD,NFKC y %ef%bd%99 y NFKD,NFKC
} 0x7d ︸ %ef%b8%b8 ︸ NFKD,NFKC ﹜ %ef%b9%9c ﹜ NFKD,NFKC } %ef%bd%9d } NFKD,NFKC

参考链接

https://docs.oracle.com/javase/7/docs/api/java/text/Normalizer.html