Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/naver/lucy-xss-servlet-filter
https://github.com/naver/lucy-xss-servlet-filter
Last synced: 23 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/naver/lucy-xss-servlet-filter
- Owner: naver
- License: other
- Created: 2015-05-14T09:17:35.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-01-20T12:29:17.000Z (over 2 years ago)
- Last Synced: 2024-04-15T04:06:50.734Z (3 months ago)
- Language: Java
- Size: 144 KB
- Stars: 241
- Watchers: 22
- Forks: 78
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Lists
- awesome-References - lucy-xss-servlet-filter
README
[![logo](https://raw.githubusercontent.com/naver/lucy-xss-filter/master/docs/images/logo/LUCYXSS_792x269px_white.jpg)](https://github.com/naver/lucy-xss-filter)
## Overview
이 라이브러리는 기존의 [lucy-xss-filter](https://github.com/naver/lucy-xss-filter)를 사용해도 여전히 아래와 같은 사유로 XSS 공격에 시달리고 있어 이에 대한 해결책으로 등장한 자바 서블릿 필터 기반의 라이브러리 입니다.- 필요한 곳에 XSS 방어코드 누락
- 불필요한 곳에 XSS 방어코드가 적용되는 경우
- 여기저기 XSS 방어코드가 혼재되어 유지보수 비용 증가Lucy-Xss-Servlet-Filter는 웹어플리케이션으로 들어오는 모든 요청 파라메터에 대해 기본적으로 XSS 방어 필터링을 수행하며 아래와 같은 필터링을 제외할 수 있는 효과적인 설정을 제공합니다.
- 설정한 url 필터링 제외
- 설정한 prefix로 시작하는 파라메터 필터링 제외
- 설정한 파라메터 필터링 제외
Lucy-Xss-Servlet-Filter를 적용하게 되면 아래와 같은 장단점이 있습니다.- XML 설정 만으로 XSS 방어가 가능해짐
- 비지니스 레이어의 코드 수정이 발생하지 않음
- 개발자가 XSS 방어를 신경 쓰지 않아도 됨
- XSS 방어가 누락되지 않음
- 설정 파일 하나로 XSS 방어절차가 파악됨
- 파라메터명에 대해 관리가 필요해짐
- 일괄 적용되어 영향 받기 때문에 정확한 필터링 룰 정의가 중요함## Release Information
```XML
com.navercorp.lucy
lucy-xss-servlet
2.0.0```
## Getting started
- [lucy-xss-filter](https://github.com/naver/lucy-xss-filter) 설정
- web.xml 설정
```XML
xssEscapeServletFilter
com.navercorp.lucy.security.xss.servletfilter.XssEscapeServletFilterxssEscapeServletFilter
/*```
**web.xml example**
```XML
...encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
encodingFilter
/*xssEscapeServletFilter
com.navercorp.lucy.security.xss.servletfilter.XssEscapeServletFilterxssEscapeServletFilter
/*...
```- /resource 폴더 내에 "lucy-xss-servlet-filter-rule.xml" 파일을 생성
- lucy-xss-servlet-filter-rule.xml 필터링 룰 작성
**lucy-xss-servlet-filter-rule.xml example**
```XML
xssPreventerDefender
com.navercorp.lucy.security.xss.servletfilter.defender.XssPreventerDefender
xssSaxFilterDefender
com.navercorp.lucy.security.xss.servletfilter.defender.XssSaxFilterDefender
lucy-xss-sax.xml
false
xssFilterDefender
com.navercorp.lucy.security.xss.servletfilter.defender.XssFilterDefender
lucy-xss.xml
false
xssPreventerDefender
/disableUrl1.do
/url1.do
/url2.do
xssSaxFilterDefender
```
자세한 사용방법은 아래를 참고해 주세요
- [manual.md](https://github.com/naver/lucy-xss-servlet-filter/blob/master/doc/manual.md)
- [lucy-xss-servlet-filter-rule.xml](https://github.com/naver/lucy-xss-servlet-filter/blob/master/src/test/resources/lucy-xss-servlet-filter-rule.xml)## Contributing to Lucy
Want to hack on Lucy-XSS? Awesome! There are instructions to get you started here.
They are probably not perfect, please let us know if anything feels wrong or incomplete.## Licensing
Lucy is licensed under the Apache License, Version 2.0. See LICENSE for full license text.