作者:小蚊子 | 来源:互联网 | 2023-06-04 21:55
本文由编程笔记#小编为大家整理,主要介绍了XSS代码注入方式相关的知识,希望对你有一定的参考价值。 1、理解数据的上下文 数据从输入到输出经过了哪些处理,数据流向如何 (1)用户输入的数据输出到了ht
本文由编程笔记#小编为大家整理,主要介绍了XSS代码注入方式相关的知识,希望对你有一定的参考价值。
1、理解数据的上下文
数据从输入到输出经过了哪些处理,数据流向如何
(1)用户输入的数据输出到了html页面的什么位置。
(2)哪些类型的用户数据是允许通过的,哪些是禁止的。
(3)过滤器采取了什么措施对特殊字符进行过滤。
今天先说用户输入数据在HTML出现的4种情况的第一种:
输出在HTML标签之间:标签>[用户输入]标签>
l 如果过滤器是对script、alert黑名单过滤,且过滤器只检查纯小写或纯大写关键字,则使用大小混写绕过,如”scrIpt”
l 如果过滤器是将关键字直接删除,且过滤一次,则可以采用多重嵌套方式绕过,如”scrscriptpt”
l 如果过滤器是对带尖括号的关键字如””进行匹配,则可以采用script后加空格的方式绕过
l 如果过滤器是对匹配关键字进行异常报错处理,则可构造如下所示代码,利用HTML实体编码,将”alert(1)”替换成HTML实体字符”alert(1)”
l 过滤器单独对尖括号进行异常处理,使用了htmlentities()或htmlspecialchars()函数