측정소별로 측정소계측로그테이블이 있고 화면에서 검색한 측정소만 계측데이터를 취득해서 java단에서 사용하기 위해 동적sql을 만들었는데 쿼리에$$구문이 들어있어 sql인젝션에 취약하다는 얘기를 들어서 대응방법을 생각하고 있는데 좋은 아이디어가 떠오르질 않네요^^;
잘부탁드립니다....^^;
참고로 개발은 전자정부표준프레임워크를 사용해서 개발하고 있고 그래서 ibatis로 아래 sql을 작성해서 java단에서 데이터 결과를 취득해 web에 표시하고 있습니다.
<select id="PrintReportDAO.selectReportAllPostDay" parameterClass="map" resultMap="reportAllPostDay" >
SELECT A.post_info_idx
,convert(varchar(10),A.work_date,120) as work_date
,A.mean_value
FROM (
<iterate property="postList" conjunction="UNION ALL">
SELECT #postList[].no# post_info_idx
,work_date
,mean_value
FROM stats_log_$postList[].no$
</iterate>
) A
</select>
Comment 1
-
유스
2015.07.15 17:03
일반적으로 할 수 있는 건, 범용적으로 쓸 수 있는 이스케이프 처리를 하는 방법과
해당 값이 들어 갈 수 있는 후보를 화이트리스트로 만들 어서 특정 값만 들어가게 제한 하는 방법이 있습니다.https://www.owasp.org/images/2/2c/OWASP_Top_10_-_2013_Final_-_Korean.pdf
OWASP의 인젝션 부분을 참고하세요.