XSS漏洞解析(二)
2017-01-20 11:36
288 查看
上篇我们讲了XSS的一些相关的内容,这篇我们就直接上代码demo解决实际问题吧。
主要的问题是xssfilter的编写,我们直接去网上找一下框架,一般有js,php,java等语言都有相关的XSS的相关支持框架,小编自己就用擅长的java来解决.
一、首先我下载了lucy-xss这个jar
二、demo例子如下:
这个demo很容易转码,是复合我们需求的。
这个框架的web配置如下:
是不是很简单.
如果你想看源码,请参考:https://github.com/naver/lucy-xss-filter
day day up。。。
主要的问题是xssfilter的编写,我们直接去网上找一下框架,一般有js,php,java等语言都有相关的XSS的相关支持框架,小编自己就用擅长的java来解决.
一、首先我下载了lucy-xss这个jar
二、demo例子如下:
import com.nhncorp.lucy.security.xss.XssFilter; import com.nhncorp.lucy.security.xss.XssPreventer; import com.nhncorp.lucy.security.xss.XssSaxFilter; /** * XSS漏洞测试 * @author mingge * */ public class TestXSS { public static void main(String[] args) { String dirty22= "\"><script>alert('xss');</script>";// XSS漏洞 String clean22 = XssPreventer.escape(dirty22);// 被转码后的数据 System.out.println(clean22); System.out.println(XssPreventer.unescape(clean22)); XssSaxFilter filter22 = XssSaxFilter.getInstance("lucy-xss-superset-sax.xml"); String clean1 = "<TABLE class=\"NHN_Layout_Main\" style=\"TABLE-LAYOUT: fixed\" cellSpacing=\"0\" cellPadding=\"0\" width=\"743\">" + "</TABLE>" + "<SPAN style=\"COLOR: #66cc99\"></SPAN>"; String filtered = filter22.doFilter(clean1); System.out.println(clean1); System.out.println(filtered); XssFilter filter = XssFilter.getInstance("lucy-xss-superset.xml"); String dirty = "<img src=\"<img src=1\\ onerror=alert(1234)>\" onerror=\"alert('XSS')\">"; String expected = "<img src=\"\"><!-- Not Allowed Attribute Filtered ( onerror=alert(1234)) --><img src=1\\>\" onerror=\"alert('XSS')\">"; String clean = filter.doFilter(dirty); System.out.println(expected); System.out.println(clean); dirty = "<img src='<img src=1\\ onerror=alert(1234)>\" onerror=\"alert('XSS')\">"; expected = "<img src=''><!-- Not Allowed Attribute Filtered ( onerror=alert(1234)) --><img src=1\\>\" onerror=\"alert('XSS')\">"; clean = filter.doFilter(dirty); System.out.println(expected); System.out.println(clean); } }
这个demo很容易转码,是复合我们需求的。
这个框架的web配置如下:
<filter> <filter-name>xssEscapeServletFilter</filter-name> <filter-class>com.navercorp.lucy.security.xss.servletfilter.XssEscapeServletFilter</filter-class> </filter> <filter-mapping> <filter-name>xssEscapeServletFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
是不是很简单.
如果你想看源码,请参考:https://github.com/naver/lucy-xss-filter
day day up。。。
相关文章推荐
- XSS漏洞解析(一)
- 跨站点脚本(xss)解析(一)反射型xss漏洞
- 基于DOM的XSS注入漏洞简单解析
- 跨站点脚本(xss)解析(二)保存型xss漏洞
- 基于DOM的XSS注入漏洞简单解析
- 跨站点脚本(xss)解析(三)利用xss漏洞
- 博客系统漏洞解析之xss漏洞 推荐
- XSS漏洞解析(三)
- [XSS]51CTO博客IE6跨站漏洞解析
- WordPress跨站(XSS)漏洞修复
- XSS安全漏洞的几种修复方式
- web安全-xss漏洞的原理和解决方案
- 解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
- 如何在php中修补XSS漏洞
- 所谓jQuery.append()、jQuery.html()存在的XSS漏洞
- 今天项目中出现了一个xss漏洞
- 53. 文件上传篇——PHP CGI解析漏洞
- i春秋:警惕Apache站上的解析缺陷绕过上传漏洞
- 上传漏洞讲解及漏洞解析
- LBS blog又一注射漏洞含漏洞解析和exp