This vector performs normalization and compares to see if the characters get normalized into path traversal characters
const charsToCheck = ["\\","/","."];
const normalizationForms = ["NFKC", "NFC", "NFD", "NFKD"];$[i] > 0x7f && normalizationForms.forEach(form => {
const normalized = String.fromCodePoint($[i]).normalize(form);
for(let charToCheck of charsToCheck) {
if(charToCheck === normalized) {
log(String.fromCodePoint($[i])+"("+form+")"+"="+charToCheck);
}
}
})0 > 0x7f && normalizationForms.forEach(form => {
const normalized = String.fromCodePoint(0).normalize(form);
for(let charToCheck of charsToCheck) {
if(charToCheck === normalized) {
alert(String.fromCodePoint(0)+"("+form+")"+"="+charToCheck);
}
}
})