xss漏洞和csrf漏洞防御
来源:互联网 发布:软件销售代理商 编辑:程序博客网 时间:2024/05/01 09:46
xss防御:
1、尽量少将域名的domain设为域名的根下面,减少分站xss漏洞对主站的影响;
2、对输入的数据进行过滤检查:
- public static String htmlSpecialChars(final String s) {
- String result = s;
- result = regexReplace("&", "&", result);
- result = regexReplace("\"", """, result);
- result = regexReplace("<", "<", result);
- result = regexReplace(">", ">", result);
- return result;
- }
注意:CSS的行为方式也会有JavaScript的执行:
<style type="text/css" >
#content { height: expression(alert('test xss') ); }
</style>
如果要支持html可以使用这个过滤器(附件,开源的)
- 例子
- {
- final ArrayList<Attribute> span_atts = new ArrayList<Attribute>();
- Map<String, Pattern> allowedAttrValues = new HashMap<String, Pattern>();
- allowedAttrValues.put(“color”, Pattern.compile(“(#([0-9a-fA-F]{6}|[0-9a-fA-F]{3}))”));
- allowedAttrValues.put(“font-weight”, Pattern.compile(“bold”));
- allowedAttrValues.put(“text-align”, Pattern.compile(“(center|right|justify)”));
- allowedAttrValues.put(“font-style”, Pattern.compile(“italic”));
- allowedAttrValues.put(“text-decoration”, Pattern.compile(“underline”));
- allowedAttrValues.put(“margin-left”, Pattern.compile(“[0-9]+px”));
- allowedAttrValues.put(“text-align”, Pattern.compile(“center”));
- span_atts.add(new Attribute(“style”, allowedAttrValues));
- vAllowed.put(“span”, span_atts);
- }
- {
- final ArrayList<Attribute> div_atts = new ArrayList<Attribute>();
- div_atts.add(new Attribute(“class”));
- div_atts.add(new Attribute(“align”));
- vAllowed.put(“div”, div_atts);
- }
- * 2. 调用类似这样的函数String outHtml = HetaoBlogXssHTMLFilter.filter(sourceHtmlString);
3、针对图片的上传需要检测是否是正确的图片格式是否是伪格式 ,图片服务器尽量不开启程序(java,php,.net)功能或对图片格式不做程序解析;
防御CSRF:
在Web应用程序侧防御CSRF漏洞,一般都是利用referer判断输入端的url来源、或使用token或者使用JavaScript看不见的验证码;
本文出自 “林清杨--技术博客”
- xss漏洞和csrf漏洞防御
- CSRF漏洞和防御
- 解决webx的xss和csrf漏洞
- web安全 XSS、CSRF 漏洞、SQL 注入漏洞,跳转漏洞
- 漏洞科普:对于XSS和CSRF你究竟了解多少
- 一次解决存储型xss和csrf漏洞的简单方法
- 漏洞科普:对于XSS和CSRF你究竟了解多少
- 漏洞科普:对于XSS和CSRF你究竟了解多少
- CSRF漏洞
- csrf漏洞
- Spring MVC防御CSRF和XSS
- Spring MVC防御CSRF和XSS
- Spring MVC防御CSRF和XSS
- 浅析XSS和CSRF攻击及防御
- XSS漏洞
- XSS漏洞
- 一个搜索引擎中的反射XSS 预防和防御跨站漏洞 Web安全展望
- JSONP存在的JSON Hijacking漏洞以及与csrf/xss漏洞的关系
- POJ 3169 Layout (差分约束#5)
- 重复的固定延迟执行 java
- MFC 判断鼠标是否在控件范围内
- 访问者模式(Visitor Pattern)
- Oracle 查看有哪些表被锁住
- xss漏洞和csrf漏洞防御
- shader与cg简介
- String 类型与 char 类型比较
- poj 1275 Cashier Employment(差分约束#6)
- EventAction和subscription的配置过程
- java内存泄露
- 程序员人生规划
- POJ 2983 Is the Information Reliable?(差分约束#7)
- nginx中hash表的设计与实现