您的位置:首页 > 其它

XSS下的绕过过滤方法

2018-04-09 11:54 351 查看
很久没有写过文章了,今天写一篇小品文,仍然是关于XSS下的利用。

很多网站为了避免XSS的攻击,对用户的输入都采取了过滤,最常见的就是对<>转换成<以及>,经过转换以后<>虽然可在正确显示在页面上,但是已经不能构成代码语句了。这个貌似很彻底,因为一旦<>被转换掉,什么就会转换成“<script src=1.js></script>”,不能执行,因此,很多人认为只要用户的输入没有构成<>,就不能闭合前后的标签,其语句当然也不会有害。

但是,万事总有可能,只要有一定的条件,我们就可以构造经过编码后的语句来进行XSS。

1. 转义字符

首先要认识一下“\”,这个不是斜杠么。对的,斜杠在JAVASCRIPT有着特殊的用途,它是转义的符号。例如,我们把我们XSS语句转换成16进制,这里是



结果如下

\x3C\x73\x63\x72\x69\x70\x74\x3E\x61\x6C\x65\x72\x74\x28\x27\x70\x6F\x72\x75\x69\x6E\x27\x29\x3C\x2F\x73\x63\x72\x69\x70\x74\x3E

这些就是经过编码后的字符,因为前面的斜杠缘故,所以后面的这些字符在JAVASCRIPT中都会被还原。

我们再来看一下测试用的index.asp
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: