반응형
# 크로스 사이트 스크립트 (XSS)
- 웹 페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되게 유도할 수 있는 공격 기법이다.
- XSS의 공격 방법에는 Reflected XSS, Stored XSS, DOM XSS가 존재한다.
- XSS는 외부 입력값, 출력값에 스크립트가 삽입되지 못하도록 각종 특수문자(&, >, <, ", ', /, (, ) 등)에 대해 문자열 치환 함수를 구현해야 한다.
- 문자열 치환(replace)를 활용한 방지 방법이 있다.
replaceAll(변환하고자 하는 대상 문자열, 변환할 문자 값)
public int doWrite(int cateItemId, String title, String body) {
SecSql secSql = new SecSql();
secSql.append("INSERT INTO article");
secSql.append("SET regDate = NOW()");
secSql.append(", title = ? ", title.replaceAll("<", "<").replaceAll(">", ">").replaceAll("\r\n", "<br>"));
secSql.append(", body = ? ", body.replaceAll("<", "<").replaceAll(">", ">").replaceAll("\r\n", "<br>"));
return DBUtil.insert(dbConn, secSql);
}
- 라이브러리를 사용하는 방법도 있다. ( 참고 : github.com/naver/lucy-xss-servlet-filter )
반응형
'기타' 카테고리의 다른 글
아이오닉(IONIC framework) 프레임워크란? (0) | 2020.07.23 |
---|---|
GIT 오류해결 warning: LF will be replaced by CRLF (0) | 2020.07.13 |
연계 모듈 구현 환경 구성 및 개발 (0) | 2020.07.06 |
git add 취소하기 / git commit 취소하기 (0) | 2020.07.06 |
git 한글 자간 생기는 경우 해결방법 (0) | 2020.07.05 |