반응형
참고 : http://airlee00.blogspot.kr/2013/11/esapi-xss-sql-injection.html
esapi-2.1.0.jar
esapi-2.1.0.jar소스코드 일부
1 2 3 4 5 6 7 8 9 10 11 12 13 | // board.content 에 <script>alert("1");<script> 저장 public Board setBoard(Board board, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ try{ board.setName(request.getParameter("name")); board.setPassword(request.getParameter("password")); board.setTitle(request.getParameter("title")); // board.setContent(request.getParameter("content")); // 필터 없이 그대로 저장 board.setContent(ESAPI.encoder().encodeForHTML(request.getParameter("content"))); // <. >, ", (,),/ 필터링 후 저장 }catch(NullPointerException e){ error("Null 값이 있습니다.", request, response); } return board; } | cs |
ESAPI.properties
1 2 3 4 5 | Authenticator.UsernameParameterName=userName Authenticator.PasswordParameterName=password ESAPI.Authenticator=com.esapi.authenticator.CustomAuthenticator Authenticator.IdleTimeoutDuration=100000 Authenticator.AbsoluteTimeoutDuration=100000 | cs |
반응형
'IT > 언어' 카테고리의 다른 글
JDBC 설정 (0) | 2014.06.19 |
---|---|
[MyBatis] SqlSessionFactory (0) | 2014.06.19 |
시큐어 코딩 가이드 (0) | 2014.05.29 |
ByteUtil.java (0) | 2014.05.29 |
RSA 암호화 (0) | 2014.05.29 |