我不得不处理以前的开发人员离开的旧网络应用程序。它使用addslashes()来防止HTTML属性上的XSS。
I'm having to work on an old web app that a previous developer left. It is using addslashes() to prevent XSS on a HTTML attribute.
这是一个例子:
<?php // all $_POST vars are put through addslashes() echo "<input type='hidden' value='" . $_POST['id'] . "' />"; ?>这是否容易受到XSS攻击?有没有什么方法可以在一个值属性中运行javascript,就像在src属性中一样,例如,src ='javascript:alert(99)'。或者可以打开value属性,然后插入脚本标签?
Is this vulnerable to XSS? Is there any way javascript can run in a value attribute like it can in an src attribute for example, src='javascript:alert(99)'. Or can the value attribute be broken out of and then script tags can be inserted?
编辑:感谢Quentin,我认为它很容易受到攻击。
Thanks to Quentin, I believe it is vulnerable.
推荐答案
addslashes()是否可以安全地阻止HTML属性中的XSS?
Is addslashes() safe to prevent XSS in a HTML attribute?
非常无效。
这是否容易受到XSS攻击?
Is this vulnerable to XSS?
是。
有没有什么方法可以运行javascript像src属性中的值属性,例如,src ='javascript:alert(99)'。
Is there any way javascript can run in a value attribute like it can in an src attribute for example, src='javascript:alert(99)'.
否
或者可以打开value属性然后插入脚本标签吗?
Or can the value attribute be broken out of and then script tags can be inserted?
数据只需要包含一个,该属性就会被删除。
The data just has to include a " and the attribute is broken out of.
如果要插入任意字符串,请使用 htmlspecialchars n到属性值。
Use htmlspecialchars when you want to insert an arbitrary string into an attribute value.
更多推荐
addslashes()是否可以安全地阻止HTML属性中的XSS?
发布评论