我正在使用一些软件,将某些字符"<“、">”、"&“列入黑名单,用于用户提交的值。
当显示提交的结果时,它不是对值进行编码的HTML (在一个表中输出所有提交的结果)。
它将值存储在Server中的nvarchar字段中。
您能在这种黑名单方法中找到XSS漏洞吗?查看是否可以让软件供应商对HTML进行编码输出。
编辑
我发现表中的值首先作为javascript变量输出,然后添加到页面中。javascript中的值是javascript编码的。javascript编码正在执行它的工作,并在字符串变量中转义值。
我正在寻找从这个javascript字符串变量呈现的html中的xss漏洞。
失败的想法
如果使用javascript,则可以使用<>的javascript unicode表示形式。
"\u003cscript\u003ealert('hi');\u003/script\u003e“
然而,如上所述,javascript编码器正在做它的工作,只是作为文本输出。
发布于 2016-07-30 13:59:49
我知道这是旧的,但是黑名单尖括号不在所有情况下都会阻止XSS。
相反的例子是,如果您将用户输入放入HTML属性中,例如创建一个mailto链接与他们的电子邮件。如果他们输入这个作为他们的电子邮件地址:
“onclick=”警报(‘XSS无尖括号!’)
他们有XSS在你的网站。
https://stackoverflow.com/questions/9309751
复制相似问题