2023년 5월 16일 화요일

자바 시큐어코딩 HTTP응답 분할

공격자가 HTTP요청에 삽입한 인자값이  HTTP 응답헤더에 포함되어 사용자에게 다시 전달될때 개행문자를 이용하여 첫 번째 응답을 종료시키고 두번째 응답에 악의적인 코드가 주입되어 XSS공격등이 가능해진다.

예)

String str = request.getParameter("ref");
reponse.setHeader("Content-Disposition", str);
reponse.setHeader("Referer", str);

>>>>
String str = request.getParameter("ref");
-- 추가 및 수정 부분 
-- 개행 삭제후 처리
str = str.replaceAll("\n","").replaceAll("\r","")

reponse.setHeader("Content-Disposition", str);
reponse.setHeader("Referer", str);

댓글 없음:

댓글 쓰기