首页 > 编程知识 正文

xss反射型跨站,xss漏洞有哪几种

时间:2023-05-05 00:32:32 阅读:14968 作者:2657

什么是反射式XSS攻击? 反射XSS是指APP应用程序在Web请求中检索不可靠的数据,并将其发送给用户,而不验证数据中是否存在恶意代码。 反射XSS通常可以由攻击者通过构建具有恶意代码参数的URL来实现,当打开所构建的URL地址时,其中包含的恶意代码参数由浏览器分析并执行。 此攻击的特征是非持久化的,只有在用户单击包含恶意代码参数的链接时才会触发。实现目的:

利用您提交的数据,通过实现反射式XSS,修改用户数据和窃取用户信息变得相对容易。

攻击示例:(例如,以下JSP代码片段的功能读取从HTTP请求输入的用户名(username )并显示在页面上,如果name包含恶意代码,则返回Web 受反射XSS攻击%stringname的%名称:%=name3358www.Sina.com/:1.合理验证用户输入,例如验证年龄仅为数字,使用特殊字符,例如2 .基于数据位于HTML上下文中的不同位置(HTML标记、HTML属性、JavaScript脚本、CSS、URL ),对所有不可信数据进行适当的输出编码。 设置HttpOnly属性,防止攻击者利用跨网站脚本漏洞进行cookie劫持攻击。 (实际上,请验证用户输入的参数,以确保返回参数与请求参数不匹配,并且不包含HTML或JS等代码)为了避免反射型 XSS 攻击,建议采用以下方式进行防御错误示例:参数对象

@响应主体@请求映射(value=' get map ' ) publicmapgetmap ) map ) { //xxxx业务逻辑返回映射; }正确示例:传递参数对象,使用可用参数@ response body @ request mapping (value=' get map ' ) publicmapgetmap ) map ) { //xxxx业务逻辑返回m; }或对后台输入参数进行代码过滤(缩写过滤方法) )。

@ response body @ request mapping (value=' get map ' ) publicmapgetmap (stringstr ) { Map map=new Map ); //xxxx业务逻辑Pattern p_script; Matcher m_script; String regEx_script='[\s]*? 脚本[^]*? [\s\S]*? [\s]*? \/[\s]*? 脚本[s]*?' ; 定义script的正则表达式{或script[^]*? [\s\S]*? /script } p _ script=pattern.com pile (regex _ script,Pattern.CASE_INSENSITIVE ); m_script=p_script.Matcher(str; str=m_script.replaceAll (' ); script标记//业务逻辑map.setxxxx(str ); 返回图; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。