img
标记下方仅包含src
属性。会不会导致xss
,而没有窗口事件onerror = eval(src)
之类的其他属性?
<img src=javascript:alert('XSS')>
答案 0 :(得分:0)
只要不执行JavaScript,您就不必担心XSS。
如果您在后端使用前端中的值,那将是一个问题。
示例:
<script>document.body.innerHTML = 'Hacked!';</script>
用户键入:echo $_POST['age']
现在在后端,您只需使用<IMG SRC=javascript:alert('XSS')>
。
如您所见,最好关心自己的代码,但要更加小心用户可以输入的内容,因为那是很危险的部分!
在您的情况下,不会执行{{1}}。甚至它被执行了,那只是您键入的内容,而不是用户。
答案 1 :(得分:0)
这行特殊代码隔离:否。
可以诱骗生成此类代码的网站:可能是。
如果您的模板是这样的:
<img src=$user_data>
那么几乎可以肯定它是脆弱的。
即使您试图在提交的数据中将某些“不良字符”列入黑名单,它也仍然很容易受到攻击。例如,即使您禁止使用空格,也仍然可以通过从无效标记中进行错误恢复来添加额外的属性:
<img src="foo"/onerror="baz">
唯一相对简单的解决方案是:
<
更改为<
,将"
更改为"
答案 2 :(得分:0)
是的,我们可以单独使用src属性创建XSS
<img src="data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K" alt="add" >
Base64代码可以处理其他事情