java反射行跨站脚本攻击_Web安全之防止XSS跨站脚本攻击

本文详细介绍了XSS攻击的概念、分类,包括反射型和存储型XSS,并提供了相应的防范方法,如转义特殊字符,以及Java后台处理示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

XSS攻击全称跨站脚本攻击(Cross-site scripting),为和CSS区别,改为XSS。XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意的web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。

XSS攻击的产生原因是对外部输入的参数没有做严格过滤,导致输入参数直接参与页面源代码,相当于页面源代码可以被外部修改,因此可能被改变页面结构、植入恶意脚本,可被用于钓鱼、盗取数据、篡改页面等。解决的方法是加强页面输出过滤或转义,如ESAPI的Encoder转义、自定义转义,或者采用不存在XSS风险的页面标签进行输出。

攻击分类

反射型XSS攻击

又称为非持久性跨站点脚本攻击。漏洞产生的原因是攻击者注入的数据反映在响应中。一个典型的非持久性XSS包含一个带XSS攻击向量的链接(即每次攻击需要用户的点击)。

例子

http://www.test.com/message.php?send=Hello,World

接收者将会接收信息显示Hello,World

http://www.test.com/message.php?send=

接收者接收消息显示的时候将会弹出警告窗口显示foolish!

存储型XSS攻击

又称为持久型跨站点脚本,它一般发生在XSS攻击向量(一般指XSS攻击代码)存储在网站数据库,当一个页面被用户打开的时候执行。每当用户打开浏览器,脚本执行。持久的XSS相比非持久性XSS攻击危害性更大,因为每当用户打开页面,查看内容时脚本将自动执行。

例子

一个正常的表单,正常操作是用户提交相应留言信息;将数据存储到数据库;其他用户访问,应用查询数据并显示。

攻击

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值