防绕过语句
htmlspecialchars() 语句可以将<>等敏感字符改动为html字符实体,用于变量的处理上。
绕过
首先要明白一点写入的JS代码要在浏览器上成功执行尽量要在标签之间
js代码显示在属性内
'><script>alert(1)</script>// :闭合标签
大写绕过
猜测后端如果只是简单的利用 ,str_replace函数限制小写字母,没有用strtolower($_GET[‘keyword’]),完全可以替换大写字母来绕过
双写关键字
如果后端把全部内容转换为小写且直接删除关键字怎么办? 可以试试双写关键字 "><a hrhrefef=javascriscriptpt:alert(1)>xss</a>//
javascript特殊事件input标签
猜测后端遇到转换特殊字符为html实体的htmlspecialchars() 函数或者str_replace 特殊字符删除函数,是可以用标签的特殊事件来执行js代码 onfocus=javascript:alert('xss') ;
onfocus=javascript:js代码
onfous可用于<input> <select> <a>
最简单的实例就是网页上的一个输入框,当使用鼠标点击该输入框时输入框被选中可以输入内容的时候就是该输入框获得焦点的时候,此时输入框就会触发onfocus事件.因此点击当前页面的输入框就可以完成弹框了。
javascript特殊事件a标签
如果里的onfocus=javascript:alert('xss') 特殊事件被PHP语言专门照顾。可以使用 标签里的特殊事件 <a href="javascript:alert(1)">xss</a>
|