我有这样的网址
http://www.example.com/?input=userinput
虽然我做了xss注入过滤器
strip_tags ();
但是看看这个,我把这个输入放在像这样的网址中
<a href ="http://www.example.com/?page=userinput"> </a>
想象用户可以在他的用户输入部分编写此代码
onMouseOver%3dalert%2839793%29%2f%2f
这会将onMouseOver事件添加到我的网址!!!
答案 0 :(得分:0)
请查看OWASP XSS预防备忘单。它将详细解释所有这些: https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
要回答此处提到的特定主题,您需要在输入之前对输入进行url编码,然后将其作为网址的一部分打印在页面中。对于HTML属性中的其他数据,如果它位于像onclick这样的事件处理程序中,则需要应用HTML属性编码和javascriot编码。