XSS漏洞

Xss(cross-site script)为跨站脚本攻击,即攻击者利用网站漏洞把脚本注入网页 中,当其他用户浏览这些网站的时候,浏览器就会执行攻击者注入的恶意代码,所以Xss是一种前端浏览器漏洞。
使用语言:JavaScript
使用场景:通过在网站的url中改变并发送给他人,较简单
攻击手法:

攻击手法

反射型XSS

场景:URL传递参数展示在页面
举例:如一个正常连接,在其url中加入<script>alert(**内容**)</script>,他人打开时,则会有对应弹窗
挖掘思路:如果系统功能是将用户提交的数据展示在页面中,则有可能出现这种风险

储存型XSS

场景:用户提交数据,展示在页面(如论坛等)
举例:在一个评论里,输入JS语句并提交,一旦其他用户打开,则会触发语句
挖掘思路:和反射型XSS类似,只要有用户提交数据,展示在页面(如论坛等),都有可能

DOM型XSS

DOM直接攻击网站难度较高,也不排除有不太聪明的盆友愿者上钩,如网吧等公共场所

场景:有人在公司场合的电脑,打开一个知名网站,如百度,然后在页面上修改内容,利用人们对该网站的信任度来进行恶意行为。

xss存储型漏洞 springmvc解决方法示例 xss漏洞利用的场景_提交数据

xss存储型漏洞 springmvc解决方法示例 xss漏洞利用的场景_安全_02

测试常见攻击手法

1.<script>alert('XSS')</script>   ##经典语句
2.>"'><img src="javascrpipt.:alert ('XSS')"> 
#通过闭合引号和尖括号来尝试终止某个属性并插入自定义的HTML标签和JavaScript代码。这里的意图是在网页中插入一个图像元素,并在加载时触发一个JavaScript的弹窗警报(alert)
3.<table background = 'javascript.:alert(([code])'></table>
#通过在background属性中插入一个以javascript:开头的URL,试图在背景加载时执行JavaScript代码。这里的意图是在网页中插入一个表格元素,并弹窗
4." +alert(111) + "
5.<br size="&{alert(666)}">
#在size属性中使用了&{}语法,试图在网页中插入一个换行元素,并在加载时执行JavaScript代码。这里的意图是在网页中插入一个换行元素,并在加载时触发一个JavaScript的弹窗警报


以上攻击手法,如果是越熟悉JavaScript的攻击人员,效果更佳,所以在实际的开发中,我们应该始终采取适当的输入验证和输出编码来防止此类攻击。