<scr<script>ipt>alert("XSS")</scr<script>ipt>
<scr<sc<script>alert(1)</script>ript>ipt>alert("XSS")</scr<script>ipt>
<a href='vbscript:MsgBox("XSS")'
>link</a>
<
<a href='vbscript:MsgBox("XSS")'>link</a>
%c1;alert(/xss/);//
>
<script
>alert(1)
</script
>
>hhgvv
<hhhh<hgg>
ghhvgh
以上标签使用正则如何匹配到标签?
>hhh
这种的是md语法不是标签不能被匹配。
有谁知道这正则怎么写?
成对的必须匹配到
是这样吗
var str = `
<scr<script>ipt>alert("XSS")</scr<script>ipt>
<scr<sc<script>alert(1)<\/script>ript>ipt>alert("XSS")</scr<script>ipt>
<a href='vbscript:MsgBox("XSS")'
>link</a>
<
<a href='vbscript:MsgBox("XSS")'>link</a>
%c1;alert(/xss/);//
>
<script
>alert(1)
<\/script
>
>hhgvv
<hhhh<hgg>
ghhvgh
`;
str = str.replace(/<\/?\w+\b[^<>]*>/g,"【替换】");
console.log(str);
单纯用正则是无法匹配的。
因为你需要考虑到字符串内的html标签,注释内的标签。
要用程序将这些无效区间找出来,去掉这些噪音,再进行匹配