보안/시큐어코딩

[시큐어코딩-14] 입력데이터 검증및 표현(14) 보호매커니즘을 우회할 수 있는 입력값변조

오픈이지 2012. 10. 28. 15:02


발생원인


외부 입력값을 토대로 보안 매커니즘을 결정하는 경우


영향 


권한 상승



코드예



 안전하기 않은 코드의 예 - JAVA

Cookie[] cookies = request.getCookies();

for (int i =0; icookies.lengthi++) {

  Cookie c = cookies[i];

  if (c.getName().equals("role")) {

      userRole = c.getValue(); 

  }

 }


 쿠키에 저장된 값을 사용하여 role을 할당


 안전한 코드의 예 - JAVA

......

HttpSession session = context.getSession(id) ;

String userRole(Stirng)session.getValue("role") ;

......


 내부 세션값을 권한 결정에 이용